На мероприятии SC16 компания AMD (NASDAQ: AMD) представила новую версию программного обеспечения Radeon Open Compute (ROCm) с поддержкой новых графических процессоров Radeon, математических библиотек и современных языков программирования для ускорения разработки высокопроизводительных и энергоэффективных гетерогенных вычислительных систем.
AMD также объявила о запланированной поддержке OpenCL для широкого спектра процессоров в предстоящих версиях ПО ROCm, включая поддержку ЦП AMD "Zen", Cavium ThunderX и IBM Power 8.
«Radeon Open Compute — это новая эра для платформ расчета на GPU, призванных использовать возможности ПО с открытым исходным кодом, чтобы реализовать новые решения для высокопроизводительных и гипермасштабируемых вычислений, — сказал Раджа Кодури, старший вице-президент и главный разработчик архитектуры в Radeon Technologies Group, AMD. — Сегодняшний релиз ПО ROCm дает разработчикам абсолютную гибкость в том, где и как они могут использовать GPU-вычисления. Мы рады продемонстрировать некоторые из этих невероятных вариантов использования на SC16».
«Использование открытого исходного кода применительно к гетерогенным вычислениям поможет донести преимущества высокопроизводительных вычислений непосредственно до разработчиков, позволяя гибко задействовать доступные вычислительные ресурсы и получать максимально возможную производительность от имеющихся в распоряжении аппаратных средств, — сказала Дениз Дюма, вице-президент по разработке ПО в Red Hat. — Как лидеры в области развития и поддержки сообществ разработчиков открытого ПО, мы рады видеть, что компания AMD решила использовать открытый исходный код при разработке ПО ROCm».
«Сочетание поддержки графическими процессорами AMD ЦП ThunderX и широкий спектр возможностей ПО ROCm — это ценное дополнение к комплексному решению Cavium для рынков высокопроизводительных и гипермасштабируемых вычислений, — сказал Ларри Уикелиус, вице-президент Группы экосистем ПО и решений в Cavium, Inc. — Сегодняшнее заявление AMD — это отличное дополнение к инновационным особенностям решения ThunderX, которые включают 48 ядер с архитектурой ARMv8, встроенные средства ввода-вывода и возможность установки в двухсокетный сервер. Наши клиенты и партнеры могут пользоваться всем этим уже сегодня на своих рынках».
Новая версия ПО ROCm содержит ряд обновлений, среди которых:
Расширенный список поддерживаемых GPU — добавлены все графические решения на архитектуре Polaris, включая видеокарты Radeon RX 460, 470 и 480, а также графические процессоры Radeon Pro WX 7100, 5100 и 4100. Архитектура Polaris специально оптимизирована для низкоуровневого программирования и помогает разработчикам извлечь максимальную выгоду от аппаратного обеспечения.
Виртуализация аппаратных средств GPU с помощью контейнеров ОС и виртуальных машин (KVM) в Linux — ROCm теперь поддерживает Docker-контейнеризацию, что позволяет конечным пользователям упростить развертывание приложения в ROCm с поддержкой в серверных средах Linux. ROCm также имеет поддержку аппаратной виртуализации при помощи проброса видеокарты в KVM, чтобы пользователи могли воспользоваться преимуществами аппаратного ускорения вычислений в решениях виртуализации.
Компилятор HCC (Heterogeneous Compute Compiler). HCC — это единый для CPU и GPU компилятор для C++ стандарта ISO 11/14 с поддержкой использования Parallel STL (Standard Template Library) в рамках спецификации С++17. Он основан на разнообразной архитектуре компиляторов, включая генерацию кода для независимой программной GCN-архитектуры на LLVM с поддержкой ассемблера и дизассемблера.
Расширение HIP (Heterogeneous-Compute Interface for Portability) — HIP позволяет разработчикам транслировать код CUDA в ПО ROCm при помощи инструментария HIPify. Это автоматизирует преобразование приложений на базовый язык HIP и среду выполнения API и дает возможность запускать приложения практически на любой видеокарте, используя либо компилятор NVIDIA CUDA, либо компилятор HCC.
Новые математические библиотеки — ROCm поддерживает новые усовершенствованные библиотеки Math Acceleration Libraries, включая BLAS, FFT и сжатие тензора.
В дополнение к релизу ROCm, AMD также объявляет о работе над расширением экосистемы за счет увеличения поддержки серверных процессоров и запланированной поддержке OpenCL. В готовящихся релизах ПО ROCm ожидается совместимость с процессорами AMD “Zen” на х86-архитектуре, Cavium ThunderX на архитектуре ARM AArch64, а также с процессорами IBM Power 8 и серверами для удовлетворения запросов клиентов в высокопроизводительных и гипермасштабируемых вычислениях. OpenCL построен на базе библиотек и компилятора ROCm, что обеспечивает гораздо больший низкоуровневый контроль и прямой доступ к GPU.