Что такое ROCm
ROCm (Radeon Open Compute) — это открытый программный стек AMD для высокопроизводительных вычислений на графических процессорах. Платформа представляет собой комплексную экосистему, включающую драйверы, компиляторы, библиотеки, среды выполнения и инструменты разработки, предназначенные для использования вычислительной мощности GPU в задачах, далеких от рендеринга графики. Впервые проект был представлен в 2016 году как ответ AMD на доминирующую позицию NVIDIA CUDA в сфере GPU-вычислений.
Архитектурно ROCm строится на нескольких фундаментальных слоях. В основании лежит драйвер ядра AMDGPU и подсистема KFD (Kernel Fusion Driver), обеспечивающие взаимодействие операционной системы с GPU. Над ним располагается среда выполнения HSA (Heterogeneous System Architecture) Runtime, управляющая очередями команд и распределением памяти между CPU и GPU. Верхние уровни включают HIP (Heterogeneous-computing Interface for Portability) — язык программирования и API, синтаксически максимально приближённый к CUDA, что позволяет переносить существующий код NVIDIA с минимальными изменениями.
Ключевые компоненты стека ROCm включают:
- HIP — основной интерфейс программирования, позволяющий писать переносимый код для GPU. Утилита hipify автоматически конвертирует CUDA-код в HIP-эквивалент.
- MIOpen — библиотека примитивов глубокого обучения, аналог cuDNN. Содержит оптимизированные реализации сверток, нормализации, активаций и пулинга.
- rocBLAS — реализация BLAS (Basic Linear Algebra Subprograms) для GPU, критически важная для любых линейно-алгебраических операций.
- rocFFT / rocSPARSE — библиотеки быстрого преобразования Фурье и операций с разреженными матрицами.
- RCCL (ROCm Communication Collectives Library) — библиотека коллективных операций для многопроцессорных и многосерверных конфигураций, аналог NCCL.
- ROCm SMI — утилита мониторинга и управления состоянием GPU.
- Composable Kernel — библиотека шаблонов для построения высокооптимизированных ядер вычислений.
- AMDGPU-LLVM / Clang — компиляторный стек на базе LLVM, генерирующий машинный код для архитектур GCN, CDNA и RDNA.

Принципиальное отличие ROCm от CUDA — открытость. Весь стек распространяется под лицензиями MIT и Apache 2.0. Исходный код доступен на GitHub. Это означает, что любой разработчик может изучить, модифицировать и оптимизировать любой компонент платформы.
Где и как применяется ROCm
Искусственный интеллект и машинное обучение
Это главное и наиболее динамично растущее направление. ROCm обеспечивает полную поддержку PyTorch, TensorFlow и JAX. Начиная с 2023 года, после выхода ускорителей MI300X с 192 ГБ памяти HBM3, ROCm стал реальной альтернативой CUDA для обучения и инференса больших языковых моделей. Meta Platforms использует кластеры из тысяч MI300X для обучения моделей Llama. Microsoft Azure развернул инстансы с MI300X для рабочих нагрузок ИИ.
Типичный рабочий процесс ИИ-разработчика на ROCm: установка PyTorch с бэкендом ROCm через pip или conda, написание модели на Python, компиляция ядер через HIP/MIOpen, запуск обучения на одном или нескольких GPU с использованием RCCL для распределённого обучения. Для инференса применяется ONNX Runtime с ROCm-провайдером или vLLM для эффективного обслуживания LLM.
Высокопроизводительные вычисления (HPC)
Суперкомпьютер Frontier в Национальной лаборатории Оук-Ридж, занимавший первое место в TOP500, построен на процессорах AMD EPYC и ускорителях MI250X, работающих под управлением ROCm. Это наглядная демонстрация зрелости платформы для задач мирового класса: моделирование климата, ядерная физика, геномика, астрофизика.
Типичные HPC-приложения на ROCm: молекулярная динамика (GROMACS, LAMMPS, NAMD с портами), вычислительная гидродинамика (OpenFOAM, ANSYS Fluent), квантовая химия, конечно-элементное моделирование. Многие из них используют HIP для портирования вычислительных ядер.
1. Научные вычисления и анализ данных (HPC & Data Science)
Этот блок описывает применение ROCm в сфере высокопроизводительных вычислений (HPC) и обработки больших массивов данных. ROCm предоставляет математические библиотеки низкого уровня, которые аппаратно ускоряют базовые матричные и векторные операции, лежащие в основе любого научного софта.
- rocBLAS (Basic Linear Algebra Subprograms): Это аналог библиотеки NVIDIA cuBLAS. Она отвечает за операции линейной алгебры (умножение матриц, сложение векторов). Применяется везде: от симуляции физических процессов (аэродинамика, квантовая химия) до обучения нейросетей, где вся работа сводится к перемножению огромных матриц.
- rocSPARSE: Специализированная библиотека для работы с разреженными матрицами (матрицами, где большинство элементов — нули). Она критически важна в задачах численного моделирования, например, при решении дифференциальных уравнений методом конечных элементов (проектирование прочности зданий, симуляция краш-тестов) и в анализе сложных графов (социальные сети, логистика).
- rocFFT: Реализация Быстрого Преобразования Фурье (аналог cuFFT). Используется для обработки сигналов (радиоастрономия, сейсморазведочные данные в нефтегазовой сфере, медицинская томография MRT) и в криптографии для ускорения алгоритмов шифрования и хэширования.
- Apache Arrow и экосистема RAPIDS: В классическом анализе данных (Data Science) данные обрабатываются на CPU (например, через библиотеку Pandas в Python). Проекты вроде Apache Arrow с поддержкой GPU и порты библиотек RAPIDS от NVIDIA на архитектуру AMD позволяют перенести обработку таблиц (DataFrames) целиком в видеопамять. Это ускоряет фильтрацию, сортировку и агрегацию терабайтных баз данных в 10–50 раз по сравнению с классическими процессорами.

2. Рендеринг и медиа (Compute for Graphics)
Здесь важно понимать разделение: ROCm не отвечает за вывод картинки на экран и обработку 3D-графики в играх (для этого используются классические драйверы Vulkan, OpenGL и Mesa). ROCm задействует видеокарту как чистый сопроцессор для «тяжелой» математики рендеринга.
- Blender Cycles (HIP-бэкенд): Начиная с версии Blender 3.0, разработчики отказались от старой технологии OpenCL. Вместо нее AMD внедрила бэкенд на базе HIP (Heterogeneous-compute Interface for Portability). HIP позволяет транслировать код, написанный для NVIDIA CUDA, в код для карт AMD. Благодаря этому трассировка лучей (Ray Tracing), расчет глобального освещения и физика материалов в движке Cycles просчитываются на картах Radeon так же эффективно, как и на картах конкурента.
- Видеообработка и кодирование: В профессиональном софте для монтажа и цветокоррекции (например, DaVinci Resolve) вычислительные шейдеры через HIP/ROCm используются для наложения сложных эффектов, шумоподавления на базе ИИ, апскейлинга видео и трекинга объектов в реальном времени. ROCm берет на себя параллельные вычисления пикселей, разгружая центральный процессор.
3. Поддерживаемые фреймворки и инструменты (AI Ecosystem)
Этот абзац описывает программный стек для работы с искусственным интеллектом (AI) и большими языковыми моделями (LLM). Исторически ИИ развивался под CUDA, но сейчас ROCm предлагает практически бесшовную нативную интеграцию с главными инструментами индустрии.
- PyTorch, TensorFlow, JAX: Это «большая тройка» фреймворков машинного обучения. Начиная с PyTorch 2.0+, поддержка ROCm является официальной и встроенной по умолчанию. Разработчику больше не нужно переписывать код: команда
.to('cuda')автоматически перенаправляется на ROCm благодаря прослойке совместимости. - ONNX Runtime: Среда для кроссплатформенного запуска (инференса) уже обученных моделей. ROCm-версия позволяет быстро развертывать готовые нейросети на серверах с ускорителями AMD Instinct (например, MI300X).
- vLLM и DeepSpeed: Инструменты для оптимизации и работы с LLM (ChatGPT-подобными моделями). DeepSpeed распределяет обучение гигантской модели между несколькими видеокартами, эффективно управляя памятью. vLLM — это сверхбыстрый движок для раздачи ответов нейросети тысячам пользователей одновременно. Поддержка ROCm здесь критична для дата-центров, конкурирующих с серверами NVIDIA DGX.
- Megatron-LM: Фреймворк от NVIDIA для обучения огромных трансформеров, который сообщество адаптировало под ROCm для обучения LLM на кластерах из тысяч плат платформ AMD.
- OpenAI Triton: Альтернативный компилятор, который позволяет писать высокопроизводительный ИИ-код на Python, минуя сложный C++/CUDA. Наличие бэкенда Triton для ROCm означает, что новые архитектуры нейросетей от OpenAI и других лабораторий запускаются на AMD без ручной оптимизации низкоуровневых ядер.
- Flash Attention и xFormers: Специализированные алгоритмы, которые оптимизируют работу механизма внимания (Attention) в трансформерах. Они кардинально снижают потребление видеопамяти и ускоряют генерацию текста или изображений (например, в Stable Diffusion). Портирование этих библиотек на ROCm убрало главное отставание AMD в скорости работы генеративного ИИ.
Версии ROCm и совместимость с GPU
Актуальная версия
По состоянию на середину 2026 года актуальной стабильной веткой является ROCm 6.4.x (выпущена в первой половине 2025 года), а в стадии активного развития и тестирования находится ROCm 6.5. AMD перешла на модель непрерывных релизов с циклом примерно 3–4 месяца между минорными обновлениями. Ветка ROCm 6.x пришла на смену ROCm 5.x в конце 2023 года и принесла переработанную структуру пакетов, улучшенную поддержку контейнеров и новый инсталлятор.
Совместимость версий с GPU
ROCm 6.3 – 6.5 (актуальные, 2025–2026):
- Полная поддержка (Tier 1): AMD Instinct MI300X, MI300A (архитектура CDNA 3, чип gfx942). Это флагманские ускорители с 192 ГБ HBM3 и пиковой производительностью свыше 1,3 Пфлопс в FP8.
- Полная поддержка (Tier 1): AMD Instinct MI250X, MI250 (CDNA 2, gfx90a). Ускорители предыдущего поколения, на которых построен Frontier.
- Полная поддержка: AMD Instinct MI210 (CDNA 2, одночиповый вариант).
- Поддержка (Tier 2): AMD Instinct MI100 (CDNA 1, gfx908).
- Ограниченная / экспериментальная поддержка: Radeon Pro W7900, W7800, W7700 (RDNA 3, gfx1100/gfx1101). Официально поддерживаются для рабочих станций, но не для кластерных вычислений.
- Community / экспериментальная: Radeon RX 7900 XTX, 7900 XT, 7900 GRE (RDNA 3, gfx1100). Работают через ROCm, но AMD не гарантирует стабильность и не тестирует на этих картах.
ROCm 6.0 – 6.2 (2024):
- Аналогичный список, но без некоторых оптимизаций для MI300X, появившихся в 6.3+.
- MI50 и MI60 (Vega 20, gfx906) ещё числились в списке поддерживаемых, но с пометкой «deprecated».
ROCm 5.x (2022–2023, устаревшая):
- MI250X, MI210, MI100, MI50, MI60.
- Radeon VII (Vega 20) — ограниченная поддержка.
- Instinct MI25 (Vega 10, gfx900) — минимальная поддержка.
ROCm 4.x и ранее (2021 и ниже, не поддерживаются):
- Vega-серия (RX Vega 64, Vega Frontier Edition, MI25).
- Polaris-серия (RX 580 и подобные) никогда официально не поддерживались, существовали лишь экспериментальные патчи сообщества.
Важно: архитектуры RDNA 1 и RDNA 2 (RX 5000/6000) официально не поддерживаются ROCm ни в одной версии. Сообщество предпринимало попытки портирования, но без устойчивого результата. Начиная с RDNA 3 (RX 7000 / Pro W7000) AMD открыла ограниченную поддержку потребительских и профессиональных карт.
Операционные системы
ROCm официально работает на Linux: Ubuntu 22.04/24.04, RHEL 8/9, SLES 15 SP5/SP6, Rocky Linux. Поддержка Windows ограничена HIP SDK для разработки, полноценный runtime на Windows отсутствует. Поддержка macOS не предусмотрена. Контейнерные образы (Docker, Podman) с предустановленным ROCm доступны в Docker Hub и на портале AMD.
Будущее ROCm

Аппаратный фундамент: CDNA 4 и далее
В 2025–2026 годах AMD выводит архитектуру CDNA 4 с ускорителями серии Instinct MI350. Они несут новую вычислительную модель, увеличенный объём HBM3E (до 288 ГБ), поддержку форматов FP4/FP6 для ещё более агрессивного квантования моделей ИИ, а также улучшенную масштабируемость через Infinity Fabric. ROCm 6.5 и последующие версии будут первыми, кто получит нативную поддержку этих чипов. В дорожной карте AMD значится и CDNA 5 (условно MI400, ориентировочно 2027 год).
Программная стратегия
AMD декларирует цель сделать ROCm «CUDA-совместимым на уровне исходного кода». Для этого развиваются:
- HIP как универсальный язык. AMD инвестирует в hipify-утилиты, чтобы конвертация CUDA → HIP была максимально автоматической. Уже сейчас значительная часть CUDA-кода переносится с минимальными правками.
- Triton-бэкенд. Компилятор Triton (используемый в PyTorch 2.x для генерации ядер) поддерживает ROCm как целевую платформу. Это позволяет писать высокоуровневые ядра на Python-подобном DSL и получать оптимизированный код для AMD GPU без ручного HIP-программирования.
- Composable Kernel и Tensile. Библиотеки шаблонов, позволяющие генерировать оптимальные GEMM-ядра под конкретную конфигурацию матриц и конкретный GPU. Это ключ к конкурентоспособной производительности в LLM-инференсе.
- ROCm 7 (ожидается). По имеющимся данным, следующая мажорная версия принесёт переработанный runtime, улучшенную работу с памятью (unified memory, pageable memory), более тесную интеграцию с LLVM и переход на новый формат пакетов.
Экосистемные инициативы
- UAL (Unified Acceleration Library). AMD участвует в отраслевой инициативе по созданию единого API для ускорителей разных вендоров. Если стандарт состоится, ROCm станет одной из реализаций наряду с CUDA и oneAPI.
- Партнёрства с облачными провайдерами. AWS, Azure, Oracle Cloud, IBM Cloud расширяют предложение инстансов с MI300X. Чем больше облачная доступность, тем шире круг разработчиков, знакомящихся с ROCm.
- Поддержка ИИ-фреймворков «из коробки». AMD добивается, чтобы PyTorch, JAX, vLLM, TensorRT-аналоги поддерживали ROCm как бэкенд первого класса, без необходимости ручной сборки.
Конкуренция с CUDA
NVIDIA CUDA обладает почти двадцатилетней форой, огромной библиотекой готовых решений и инерцией сообщества. Тем не менее ROCm демонстрирует устойчивый прогресс. Ключевые преимущества AMD:
- Открытость. Исходный код всех компонентов доступен. Для государственных и научных организаций это вопрос безопасности и независимости.
- Цена и доступность. Ускорители MI300X предлагают 192 ГБ памяти против 80 ГБ у H100, что критично для LLM-инференса. При сопоставимой или лучшей производительности на доллар ROCm-системы становятся экономически привлекательными.
- Интеграция CPU+GPU. APU MI300A объединяет ядра Zen 4 и CDNA 3 в одном корпусе с общей памятью, открывая уникальные возможности для задач, где важна пропускная способность и отсутствие копирования данных.
Среди вызовов: необходимость догнать NVIDIA по количеству оптимизированных библиотек, убедить разработчиков переключиться, обеспечить стабильность драйверов на уровне CUDA.
Прогноз на 2026–2030
Ожидается, что ROCm будет ежегодно получать 3–4 минорных релиза с существенными улучшениями. К 2027 году доля ROCm в сегменте дата-центровых GPU-вычислений может вырасти до 15–20 % (против менее 5 % в 2023 году). Развитие стандартов вроде SYCL, UAL и OpenCL 3.0 может дополнительно снизить привязку к проприетарным стекам и усилить позиции открытых платформ. AMD активно инвестирует в команду разработчиков ROCm (более 1000 инженеров), что свидетельствует о долгосрочных намерениях компании.
Практические рекомендации
Для начала работы с ROCm в 2026 году оптимальный путь:
- Выбрать Linux (Ubuntu 24.04 LTS — наиболее протестированный вариант).
- Установить ROCm через официальный инсталлятор
amdgpu-installили пакетный менеджер. - Проверить распознавание GPU командой
rocminfoиrocm-smi. - Установить PyTorch с ROCm-бэкендом:
pip install torch --index-url https://download.pytorch.org/whl/rocm6.4. - Для кастомных ядер использовать HIP и компилятор
hipcc. - Для многокарточных конфигураций настроить RCCL и переменные окружения HSA.
Заключение
ROCm превратился из нишевого эксперимента в полноценную промышленную платформу GPU-вычислений. Открытая лицензия, агрессивная аппаратная дорожная карта AMD и растущая поддержка со стороны ИИ-сообщества делают её единственной реальной альтернативой CUDA в сегменте высокопроизводительных вычислений и глубокого обучения. Платформа всё ещё уступает NVIDIA в широте экосистемы и количестве готовых решений, но разрыв сокращается с каждым релизом. Для разработчиков и организаций, стремящихся избежать привязки к одному вендору, ROCm сегодня — не теоретическая возможность, а рабочий инструмент с подтверждённой эффективностью на задачах мирового масштаба.