На прошлой неделе компания AMD анонсировала выход новой версии программного стека для разработки ИИ — ROCm 6.3. Новая версия платформы добавляет несколько новых и обновленных функций, которые еще больше увеличивают производительность при выполнении ИИ-операций с GPU AMD Instinct, а также упрощают интеграцию софта для ускорителей других производителей в экосистемы AMD. Сегодня мы расскажем вам, что такое программный стек ROCm, какие нововведения появились в версии 6.3, как быстро развивается это передовое решение, а также объясним, почему AMD испытывала юридические проблемы из-за ROCm.
Что такое ROCm?
ROCm (Radeon Open Compute) — это программная платформа с открытым исходным кодом от AMD, созданная для высокопроизводительных вычислений (HPC) и задач искусственного интеллекта. Главная особенность стека ROCm — поддержка технологии HIP SDK (Heterogeneous-Compute Interface for Portability) и библиотеки Zluda. HIP SDK — это обширный набор инструментов, включающий себя API и язык программирования HIP, необходимый для вычислений на GPU. С помощью этого инструмента, можно конвертировать программный код, написанный для Nvidia CUDA, в код языка C++, после чего без проблем запуская его на видеокартах Radeon. В свою очередь, среда Zluda (а конкретно последняя версия Zluda 3) позволяет запускать CUDA-приложения на графических решениях AMD без необходимости каких-либо изменений в коде. Благодаря HIP и Zluda, разработчики ИИ могут легко переносить код, написанный для архитектуры ядер CUDA на платформы экосистемы AMD. Кроме того, ROCm включает в себя другие инструменты, такие как компиляторы, драйверы, библиотеки и другой софт для разработки приложений, оптимизированных под архитектуру AMD GPU. Благодаря этому платформа ROCm пользуется большим спросом у разработчиков ИИ и крупных компаний, использующие различные аппаратные конфигурации для выполнения высокопроизводительных операций.
ROCm — это программная платформа для интеграции софта GPU на различных архитектурах в экосистему AMD. Источник: AMD.
Нововведения ROCm 6.3
Рассмотрим основные нововведения, которые привнесла обновленная версия ROCm 6.3:
Среда SGLang
SGLang — это новая среда ROCm 6.3, предназначенная для улучшения пропускной способности, снижения задержек и оптимизации расхода вычислительных ресурсов, что необходимо для обучения передовых генеративных моделей искусственного интеллекта, например, LLM и VLM, на ИИ-ускорителях линейки AMD Instinct. По заявлениям AMD, новая программная среда SGLang обеспечивает увеличение производительности при выводе LLM до 6-ти раз по сравнению с действующими программными средами. Помимо этого, в SGLang интегрированная поддержка языка программирования Python и по-умолчанию настроенный ROCm Docker, благодаря чему разработчики могут внедрять интерактивных помощников на основе ИИ, мультимодальные рабочие процессы и масштабируемые облачные бэкенды, сократив время разработки.
FlashAttention-2 — это новая версия библиотеки “механизма внимания” с открытым исходным кодом, которая интегрирована в ROCm 6.3 и применяется для глубокого обучения ИИ-трансформеров, увеличивая их точность вычислений и оптимизируя расход памяти. Трансформеры являются основой для разработки передовых генеративных моделей искусственного интеллекта, поэтому FlashAttention-2 является одним из наиболее эффективных инструментов для их разработки, что обуславливается очень полезной функцией сохранения точности вычислений при меньшем расходе памяти. Кроме того, FlashAttention-2 в 3 раза быстрее обучает модели ИИ и выполняет операции ввода/вывода данных, чем предыдущая версия библиотеки FlashAttention-1. Еще одна функция FlashAttention-2 — увеличение длины последовательности, что обуславливается меньшим расходом памяти. FlashAttention-2 легко интегрируется в существующие рабочие процессы с помощью контейнера PyTorch от ROCm с Composable Kernel (CK) в качестве серверной части.
Сравнение времени инференса модели LLama 2.7B* с применением FlashAttention-2(желтая линия) на базе графического процессора Nvidia A100. Источник: huggingface.co.
Новый компилятор AMD Fortran
Некоторые инфраструктуры до сих пор используют устаревшие приложения HPC на языке Fortran (часто используются в системах для аэрокосмического, фармацевтического и метеорологического моделирования), поэтому AMD добавила в ROCm 6.3 особый компилятор с оптимизацией под такие экосистемы. Благодаря этому компилятору, Fortran-системы могут эффективно использовать все возможности графических ускорителей AMD Instinct. Вот какие функции предлагает компилятор AMD Fortran:
Прямая выгрузка вычислений на графический процессор. AMD Fortran имеет функцию OpenMP, которая позволяет выполнять все вычисления не на CPU, а в графическом процессоре, что полезно для разработки научных приложений;
Обратная совместимость. Новый компилятор поддерживает интеграцию AND Instinct в инфраструктуру, при этом исключает потребность корректировки существующего кода на Fortran;
Упрощенная интеграция. В компилятор AMD Fortran добавлена функция беспрепятственного взаимодействия с ядрами HIP и библиотеками ROCm, поэтому потребность в сложной переработке кода для их использования отпадает. Ранее, в программном стеке ROCm 6.2 и прошлых версиях, для интеграции ИИ-ускорителей от AMD требовалась масштабная перепись кода Fortran, что усложняет использование передовых решений компании в таких системах.
Благодаря новому компилятору можно будет интегрировать передовые ИИ-ускорители AMD Instinct MI325X в устаревшие инфраструктуры на Fortran, что значительно ускорит выполнение legacy кода. Источник: AMD.
Новый многоузловой FFT
Multi-Node FFT — это особый алгоритм для вычисления дискретного преобразования Фурье, обеспечивающий поддержку технологии высокопроизводительных распределенных вычислений. За счет этой функции, разработчики могут легче масштабировать несколько вычислительных узлов, тем самым ускоряя запуск приложений и снижая сложность их разработки. Такая возможность появилась благодаря встроенной интеграции с интерфейсом передачи сообщений (MPI). Многоузловой FFT будет полезен для таких специфических направлений, как нефтегазовое и климатическое моделирование, где активно используются инфраструктуры для распределенных вычислений.
Расширенные библиотеки компьютерного зрения
В новой версии ROCm 6.3 AMD расширила библиотеки компьютерного зрения rocDecode, rocJPEG и rocAL, благодаря которым разработчики могут более эффективно решать широкий спектр задач, например, анализ видео и расширение наборов данных. Вот какие функции добавило расширение библиотек компьютерного зрения:
Поддержка кодека AV1. Теперь пользователи могут бесплатно декодировать медиафайлы с помощью библиотек rocDecode и rocPyDecode;
Декодирование JPEG с ускорением на GPU. В библиотеке rocJPEG появилась функция обработки изображения в большом масштабе, что обеспечивается новых встроенных резервных алгоритмов;
Улучшенная обработка аудио. В библиотеку rocAL была добавлена оптимизированная функция шумоизоляции, минимизирующая задержки в обучении передовых моделей ИИ.
Юридические проблемы ROCm
Одной из основных юридических проблем является совместимость ROCm с кодом других экосистемам, например с CUDA от NVIDIA, что уже приводило к спорам по поводу интеллектуальной собственности, особенно в контексте использования HIP (Heterogeneous-Compute Interface for Portability), который позволяет конвертировать CUDA-код для работы на AMD Instinct. Nvidia различными методами старается препятствовать развитию ROCm, поскольку столь “бесшовный” программный переход в связке с выгодными ценами на ускорители AMD может значительно пошатнуть позиции Nvidia как лидера ИИ отрасли. Например, в 2021 году Nvidia напрямую запретила перепроектировать, декомпилировать или дизассемблировать программные элементы для CUDA в целях их использования на других платформах, тем самым сильно ограничив возможности разработчиков. Кроме того, компании, которые используют ROCm в коммерческих продуктах, сталкиваются с необходимостью соблюдения условий лицензий (причем, как Nvidia, так и AMD), что требует тщательного анализа каждого компонента стека. Таким образом, несмотря на огромный потенциал ROCm, юридическая сторона требует внимания как со стороны AMD, так и со стороны пользователей платформы.
Ускорители AMD Radeon и AMD Radeon Instinct, участвующие в программном стеке ROCm.
Стремительное развитие ROCm и дальнейшие перспективы
С момента своего появления в 2016 году, программный стек ROCm стремительно эволюционировал, расширяя свои библиотеки и интегрируя новые, передовые технологии для реализации потенциала AMD Instinct в различных платформах. Изначально компания AMD не вкладывала много ресурсов в развитие этого программного стека и с момента релиза первой версии ROCm 1.0 до версии ROCm 2.0 прошло более 2-х лет. Помимо этого, компания Nvidia выдавливала AMD с рынка GPU, пресекая все попытки выйти на этот сектор с помощью выпуска более совершенных графических решений. Однако, когда стало очевидно, что сфера искусственного интеллекта начала стремительно развиваться, AMD осознали, что на рынок нужно выводить собственные программные решения, которые смогут предоставить пользователям хорошую альтернативу закрытым платформам, таким как Nvidia CUDA. Начиная с релиза ROCm 5.0, программный стек начал ежегодно оснащаться множеством дополнительных инструментов, библиотек, фреймворков, таких как TensorFlow, PyTorch и ONNX, позволяя разработчикам более эффективно переносить свой софт в экосистемы AMD. Очевидно, что ROCm будет продолжать свое стремительное развитие, предлагая все более совершенные инструменты для развертывания их ИИ, для обучения которых используются все мощности высокопроизводительных графических ускорителей линейки AMD Instinct.
На момент конца 2024 года AMD идет ва-банк и активно публикует новые версии стека ROCm с всевозможными доработками и улучшениями. За этот год компания выпустила сразу 9 релизов ROCm, тем самым обновив ПО с 6.0 до 6.3. Это говорит о том, что AMD не собирается сдавать свои позиции и в ближайшее время сообщество увидит захватывающее противостояние Nvidia как на серверном, так и десктопном рынке.
Несмотря на юридические сложности, ROCm остается крайне популярной альтернативой закрытым платформам, таким как Nvidia CUDA. Источник: AMD.
Поддержка ROCm графическими ускорителями
Компания AMD вкладывает большие усилия в разработку ROCm, чтобы максимизировать программную совместимость различных графических решений с этим программным стеком. Ниже мы предоставим информацию о поддержке платформы ROCm теми или иными GPU:
Таблица совместимость видеокарт линейки AMD Instinct с платформой ROCm.
Таблица совместимость видеокарт линейки AMD Radeon PRO с платформой ROCm.
Таблица совместимость видеокарт линейки AMD Radeon с платформой ROCm.
Прикладываем пояснения символов формата поддержки вышеуказанных видеокарт:
✅: Поддерживается — Официальные дистрибутивы последней версии ROCm полностью поддерживают видеокарту;
⚠️: Ограниченная поддержка — Действующий функционал и инструменты сохраняются, но новые функции или оптимизации добавляться не будут. В будущей версии ROCm поддержка будет удалена;
❌: Не поддерживается — HIP может запускать приложения для неподдерживаемых GPU, однако собранные библиотеки ROCm для этого GPU не будут поддерживаться, что вызывает ошибки при выполнении операций.
Вывод
ROCm 6.3 сулит множество улучшений, касающихся увеличения производительности и появления новых, полезных функций для разработчиков искусственного интеллекты и сектора HPC. AMD ежегодно выпускает новые версии стека ROCm, поэтому уже в 2025 году сообщество может ожидать выход более масштабного обновления ROCm 7.0, которое, возможно привнесет совершенно новые возможности для сферы разработки ИИ и не позволит Nvidia получить монополистическое положение на рынке.
*LLAMA (ЕСЛИ в статье другой продукт- надо написать его вместо LLAMA) — проект Meta Platforms Inc.**, деятельность которой в России признана экстремистской и запрещена
**Деятельность Meta Platforms Inc. в России признана экстремистской и запрещена.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Получите скидку 3 000 рублей или бесплатную доставку за подписку на новости*!
* — скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка.
Мы получили ваш отзыв!
Он появится на сайте после модерации.
Мы получили ваш отзыв!
Он появится на сайте после модерации.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.