Компания AMD на конференции SC16 представила новую версию своего программного обеспечения Radeon Open Compute (ROCm), предназначенного для задействования графических процессоров AMD в составе высокопроизводительных и энергетически эффективных гетерогенных вычислительных системах. Новая версия ROCm, получившая номер 3.0, характеризуется поддержкой новых графических процессором Radeon, новых библиотек и самых современных языков программирования.
Отныне Radeon Open Compute поддерживает работу с новыми графическими процессорами AMD Polaris. Список поддерживаемых видеокарт пополнили выпущенные в текущем году Radeon RX 460, Radeon RX 470 и Radeon RX 480, а также профессиональные графические ускорители Radeon Pro WX 7100, 5100 и 4100. По словам AMD, архитектура Polaris позволяет разработчикам извлечь максимум выгоды от аппаратного обеспечения.
Программное обеспечение ROCm отныне поддерживает Docker-контейнеризацию, что упрощает развёртывание приложений в ROCm в серверных средах Linux. Также ROCm имеет поддержку аппаратной виртуализации при помощи проброса видеокарты в KVM, чтобы обеспечить пользователям все преимущества аппаратного ускорения вычислений при использовании виртуализации.
Также ROCm получило новую версия компилятора HCC (Heterogeneous Compute Compiler), который является единым для CPU и GPU для языка C++ стандарта ISO 11/14 с поддержкой использования Parallel STL (Standard Template Library) в рамках спецификации С++17. Он основан на компиляторах разнообразной архитектуру, включая генерацию кода для независимой программной GCN-архитектуры на LLVM с поддержкой ассемблера и дизассемблера.
Расширение HIP (Heterogeneous-Compute Interface for Portability) позволяет разработчикам транслировать код CUDA в программное обеспечение ROCm при помощи инструментов HIPify. Это автоматизирует преобразование приложений на базовый язык HIP и среду выполнения API, а также даёт возможность запускать приложения практически на любой видеокарте, используя либо компилятор NVIDIA CUDA, либо HCC.
Также отметим поддержку новых математических усовершенствованных библиотек Math Acceleration Libraries, в том числе BLAS, FFT и сжатие тензора.
Наконец, AMD объявила о том, что в будущих версиях ROCm будет добавлена поддержка OpenCL для широкого спектра процессоров, в том числе для готовящихся к выходу серверных AMD Zen (x86-архитектура), а также уже присутствующих на рынке Cavium ThunderX (архитектура ARM AArch64) и IBM Power 8 (архитектура Power).