~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 8854322F90C1A9ACCA56F89D96157237__1718032500 ✰
Заголовок документа оригинал.:
✰ ROCm - Wikipedia ✰
Заголовок документа перевод.:
✰ РОКм — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ROCm ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/88/37/8854322f90c1a9acca56f89d96157237.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/88/37/8854322f90c1a9acca56f89d96157237__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 17:45:44 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 June 2024, at 18:15 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

РОКм — Википедия Jump to content

РПЦм

Из Википедии, бесплатной энциклопедии

РПЦм
Разработчики) АМД
Начальная версия 14 ноября 2016 г .; 7 лет назад ( 14.11.2016 )
Стабильная версия
6.1.2 / 4 июня 2024 г .; 11 дней назад ( 04.06.2024 ) [1]
Репозиторий Мета-репозиторий
github /ROCm /ROCm
Написано в C , C++ , Python , Фортран , Джулия
Промежуточное ПО БЕДРО
Двигатель AMDgpu Драйвер ядра , HIPCC , LLVM. на основе компилятор
Операционная система Линукс , Винда [2]
Платформа Поддерживаемые графические процессоры
Предшественник Близко к металлу , Стрим , HSA
Размер <2 ГиБ
Тип GPGPU Библиотеки и API
Лицензия МОЯ лицензия
Веб-сайт www .amd /продукты /программное обеспечение /рокм .html

РПЦм [3] — это программный стек Advanced Micro Devices (AMD) для программирования графических процессоров (GPU). ROCm охватывает несколько областей: вычисления общего назначения на графических процессорах (GPGPU), высокопроизводительные вычисления (HPC), гетерогенные вычисления . Он предлагает несколько моделей программирования: HIP ( программирование на основе ядра GPU ), OpenMP / интерфейс передачи сообщений (MPI) ( программирование на основе директив ) и OpenCL .

ROCm — бесплатное программное обеспечение с открытым исходным кодом (за исключением пакетов прошивки графического процессора). [4] ), и распространяется по различным лицензиям. ROCm первоначально обозначал платформу Radeon Open Compute ; однако, поскольку Open Compute является зарегистрированной торговой маркой, ROCm больше не является аббревиатурой — это просто стек AMD с открытым исходным кодом, разработанный для вычислений на графических процессорах.

Предыстория [ править ]

Первым программным стеком GPGPU от ATI /AMD был Close to Metal , который стал Stream .

ROCm был запущен примерно в 2016 году. [5] с Больцмановской инициативой . [6] Стек ROCm основан на предыдущих стеках графических процессоров AMD; некоторые инструменты восходят к GPUOpen , а другие — к гетерогенной системной архитектуре (HSA).

гетерогенной системной язык Промежуточный архитектуры

ХСАИЛ [7] был нацелен на создание промежуточного представления среднего уровня, независимого от аппаратного обеспечения, которое можно было бы JIT-компилировать для конечного оборудования (GPU, FPGA...) с использованием соответствующего финализатора. От этого подхода отказались в ROCm: теперь он строит только код графического процессора, используя LLVM , и его серверную часть AMDGPU , которая была передана в исходный поток, [8] хотя исследования такой расширенной модульности с помощью LLVM MLIR все еще проводятся. [9]

Способности программирования [ править ]

ROCm как стек варьируется от драйвера ядра до приложений конечного пользователя. У AMD есть вводные видеоролики об оборудовании AMD GCN, [10] и программирование ROCm [11] через свой учебный портал. [12]

Одно из лучших технических представлений о стеке и программировании ROCm/HIP до сих пор можно найти на Reddit. [13]

Аппаратная поддержка [ править ]

ROCm в первую очередь ориентирован на дискретные профессиональные графические процессоры. [14] но неофициальная поддержка включает семейство Vega и RDNA 2 потребительские графические процессоры .

Ускоренные процессоры (APU) «включены», но официально не поддерживаются. Наличие функционала ROCm здесь задействовано. [15]

Графические процессоры профессионального уровня [ править ]

Ускорители AMD Instinct являются первоклассными представителями ROCm, наряду с профессиональной серией графических процессоров Radeon Pro : они в основном имеют полную поддержку.

Единственным графическим процессором потребительского уровня, имеющим относительно равную поддержку, по состоянию на январь 2022 года является Radeon VII (GCN 5 — Vega).

Графические процессоры потребительского уровня [ править ]

Название графических процессоров серии Южный
Острова
Море
Острова
вулканический
Острова
Арктический
Острова/Полярная звезда
Вега Нави 1X Корабли 2X
Выпущенный январь 2012 г. Сентябрь 2013 г. июнь 2015 г. июнь 2016 г. июнь 2017 г. июль 2019 г. ноябрь 2020 г.
Маркетинговое название Радеон HD 7000 Радеон Рх 200 Радеон Рх 300 Радеон РХ 400/500 Radeon RX Vega/Radeon VII (7 нм) Радеон РХ 5000 Радеон РХ 6000
Поддержка AMD Нет Текущий
Набор инструкций Набор инструкций GCN Набор инструкций RDNA
Микроархитектура GCN 1-го поколения GCN 2-го поколения GCN 3-го поколения GCN 4-го поколения GCN 5-го поколения РДНА РДНА 2
Тип Единая шейдерная модель
РПЦм [16] Нет Да[17] Да Да[18] Да
OpenCL 1.2 (в Linux : 1.1 (без поддержки изображений) с Mesa 3D) 2.0 (драйвер Адреналин на Win7+ )
Linux : 1.1 (без поддержки изображений) с Mesa 3D, 2.0 с драйверами AMD или AMD ROCm)
2.0 2.1 [19]
Вулкан 1.0
( Победа 7+ или Меса 17+ )
1.2 (Adrenalin 20.1, Linux Mesa 3D 20.0)
Шейдерная модель 5.1 5.1
6.3
6.4 6.5
OpenGL 4.6 (on Linux: 4.6 (Mesa 3D 20.0))
Директ3D 11 ( 11_1 )
12 ( 11_1 )
11 ( 12_0 )
12 ( 12_0 )
11 ( 12_1 )
12 ( 12_1 )
11 ( 12_1 )
12 ( 12_2 )
/drm/amdgpu[а] Экспериментальный [20] Да
  1. ^ DRM ( Direct Rendering Manager ) — компонент ядра Linux .

Экосистема программного обеспечения [ править ]

Учебные ресурсы [ править ]

Менеджер по продукту AMD ROCm Терри Дим провел экскурсию по стеку. [21]

Сторонняя интеграция [ править ]

Основными потребителями стека являются приложения машинного обучения и высокопроизводительных вычислений/GPGPU.

Машинное обучение [ править ]

Различные среды глубокого обучения имеют бэкэнд ROCm: [22]

Суперкомпьютеры [ править ]

ROCm набирает обороты в топ-500 . [24] ROCm используется с суперкомпьютерами Exascale El Capitan. [25] [26] и Граница .

Некоторое сопутствующее программное обеспечение можно найти на сайте AMD Infinity Hub .

Другое ускорение и взаимодействие графики [ править ]

Начиная с версии 3.0, Blender теперь может использовать вычислительные ядра HIP для своих циклов рендеринга . [27]

Другие языки [ править ]

Julia[editДжулия

У Юлии есть пакет AMDGPU.jl, [28] который интегрируется с LLVM и выбирает компоненты стека ROCm. Вместо компиляции кода через HIP AMDGPU.jl использует компилятор Julia для непосредственной генерации LLVM IR, который позже используется LLVM для генерации собственного кода устройства. AMDGPU.jl использует реализацию HSA ROCr для загрузки собственного кода на устройство и его выполнения аналогично тому, как HIP загружает собственный сгенерированный код устройства.

AMDGPU.jl также поддерживает интеграцию с rocBLAS (для BLAS), rocRAND (для генерации случайных чисел) и rocFFT (для БПФ) ROCm. В будущем планируется интеграция с rocALUTION, rocSOLVER, MIOpen и некоторыми другими библиотеками ROCm.

Распространение программного обеспечения [ править ]

Официальный [ править ]

Инструкции по установке для Linux и Windows приведены в официальной документации AMD ROCm . Программное обеспечение ROCm в настоящее время распространено в нескольких общедоступных репозиториях GitHub . В основном общедоступном мета-репозитории имеется XML-манифест для каждого официального выпуска: использование git-repo , инструмента контроля версий , построенного на основе Git , является рекомендуемым способом локальной синхронизации со стеком. [29]

AMD начинает распространять контейнерные приложения для ROCm, в частности приложения для научных исследований, собранные в рамках AMD Infinity Hub . [30]

AMD распространяет пакеты, адаптированные для различных дистрибутивов Linux.

Сторонние [ править ]

Растет сторонняя экосистема упаковки ROCm .

Дистрибутивы Linux официально включают в себя (изначально) ROCm с различной степенью развития: Arch Linux , [31] Генту, [32] Дебиан , Федора , [33] GNU Guix и NixOS .

Есть спак пакеты. [34]

Компоненты [ править ]

Есть один компонент пространства ядра, ROCk, а остальные — в стеке около сотни компонентов — состоят из модулей пользовательского пространства .

Неофициальная типографская политика заключается в использовании: заглавных букв ROC в нижнем регистре для библиотек низкого уровня, т. е. ROCt, и наоборот для библиотек, ориентированных на пользователя, т. е. rocBLAS. [35]

AMD активно развивается вместе с сообществом LLVM, но внедрение не происходит мгновенно и по состоянию на январь 2022 года все еще отстает. [36] AMD по-прежнему официально выпускает различные вилки LLVM [37] [38] [9] для частей, которые еще не переведены в исходную версию — оптимизации компилятора, которые должны оставаться проприетарными, поддержка отладки, разгрузка OpenMP и т. д.

Низкий уровень [ править ]

ROCk — драйвер ядра [ править ]

ROCm — Библиотеки устройств [ править ]

Поддержка библиотек, реализованных в виде битового кода LLVM. Они предоставляют различные утилиты и функции для математических операций, атомарности, запросов параметров запуска, запуска ядра на устройстве и т. д.

ROCt — Thunk [ править ]

Thunk . отвечает за все мыслительные процессы и организацию очередей, поступающих в стек

ROCr — Время выполнения [ править ]

Среда выполнения ROC это набор API/библиотек, который позволяет запускать вычислительные ядра хост-приложениями. Это реализация API среды выполнения HSA от AMD. [39] Он отличается от среды общего языка ROC.

ROCm — Поддержка компилятора [ править ]

Менеджер объектов кода ROCm отвечает за взаимодействие с промежуточным представлением LLVM .

Средний уровень [ править ]

Общеязыковая среда выполнения ROCclr [ править ]

Среда общего языка — это уровень косвенности, адаптирующий вызовы к ROCr в Linux и PAL в Windows. Раньше у него была возможность маршрутизации между разными компиляторами, например, компилятором HSAIL. Теперь он поглощается верхними уровнями косвенности (HIP и OpenCL).

OpenCL [ править ]

ROCm поставляет свой устанавливаемый загрузчик клиентского драйвера (ICD) и OpenCL. [40] реализация в комплекте . По состоянию на январь 2022 года ROCm 4.5.2 поставляется с OpenCL 2.2 и отстает от конкурентов. [41]

интерфейс для портативности HIP гетерогенный

Реализация AMD для своих графических процессоров называется HIPAMD . Существует также реализация ЦП, в основном для демонстрационных целей.

HIPCC [ править ]

HIP создает компилятор HIPCC, который либо оборачивает Clang и компилирует с открытым LLVM-сервером AMDGPU, либо перенаправляет на компилятор NVIDIA . [42]

HIPIFY [ править ]

HIPIFY — это инструмент компиляции из исходного кода. Он преобразует CUDA в HIP и обратно, используя либо инструмент на основе Clang, либо сценарий Perl , подобный sed .

ГПУФОРТ [ править ]

Как и HIPIFY, GPUFORT — это инструмент, компилирующий исходный код в другие источники на языке третьего поколения, позволяющий пользователям переходить с CUDA Fortran на HIP Fortran. Это также в репертуаре исследовательских проектов, даже в большей степени. [43]

Высокий уровень [ править ]

Библиотеки высокого уровня ROCm обычно используются непосредственно прикладным программным обеспечением, например машинного обучения платформами . Большинство следующих библиотек относятся к категории General Matrix Multiply (GEMM), в которой архитектура графического процессора превосходна.

Большинство этих пользовательских библиотек имеют двойную форму: Hip для уровня косвенного обращения, который может маршрутизироваться на оборудование Nvidia, и ROC для реализации AMD. [44]

rocBLAS / hipBLAS [ править ]

rocBLAS и hipBLAS занимают центральное место в библиотеках высокого уровня, это реализация AMD для подпрограмм базовой линейной алгебры . Он использует библиотеку Tensile в частном порядке.

rocSOLVER / hipSOLVER [ править ]

Эта пара библиотек представляет собой реализацию LAPACK для ROCm и тесно связана с rocBLAS.

Утилиты [ править ]

Сравнение с конкурентами [ править ]

ROCm конкурирует с другими стеками вычислений на графических процессорах: Nvidia CUDA и Intel OneAPI .

Нвидиа editКУДА

CUDA от Nvidia имеет закрытый исходный код, тогда как AMD ROCm — с открытым исходным кодом. Существует программное обеспечение с открытым исходным кодом, созданное на основе CUDA с закрытым исходным кодом, например RAPIDS .

CUDA может работать на потребительских графических процессорах, тогда как поддержка ROCm в основном предлагается для профессионального оборудования, такого как AMD Instinct и AMD Radeon Pro .

Nvidia поставляет интерфейс Clang и его серверную часть LLVM для параллельного выполнения потоков (PTX) под названием компилятор Nvidia CUDA (NVCC).

Intel OneAPI [ править ]

Как и ROCm, oneAPI имеет открытый исходный код, и все соответствующие библиотеки опубликованы на его странице GitHub .

Фонд унифицированного ускорения (UXL) [ править ]

Unified Acceleration Foundation (UXL) — это новый технологический консорциум, который работает над продолжением инициативы OneAPI с целью создать новую экосистему программного обеспечения для ускорителей открытых стандартов, соответствующие проекты открытых стандартов и спецификаций через рабочие группы и группы по специальным интересам (SIG). ). Цель будет конкурировать с CUDA от Nvidia. Основными компаниями, стоящими за ним, являются Intel, Google, ARM, Qualcomm, Samsung, Imagination и VMware. [45]

См. также [ править ]

Ссылки [ править ]

  1. ^ «Выпуск ROCm 6.1.2» . Гитхаб . Проверено 10 июня 2024 г.
  2. ^ «Новый HIP SDK помогает демократизировать вычисления на графических процессорах» . 27 июля 2023 г.
  3. ^ «Вопрос: Что означает ROCm? · Проблема № 1628 · RadeonOpenCompute/ROCm» . Гитхаб.com . Проверено 18 января 2022 г.
  4. ^ «Debian — Подробная информация о пакете прошивки-amd-graphics в buster» . Packages.debian.org . Проверено 18 января 2022 г.
  5. ^ «AMD @ SC16: выпущена Radeon Open Compute Platform (ROCm) 1.3, Boltzmann воплощается в жизнь» . anandtech.com . Проверено 19 января 2022 г.
  6. ^ «AMD @ SC15: объявлена ​​инициатива Больцмана — компиляторы C++ и CUDA для графических процессоров AMD» . anandtech.com . Проверено 19 января 2022 г.
  7. ^ «Справочное руководство программиста HSA: HSAIL Virtual ISA и модель программирования, средство записи компилятора и формат объекта (BRIG)» (PDF) . Фонд HSA. 2 мая 2018 г. Проверено 1 августа 2023 г.
  8. ^ «Руководство пользователя для серверной части AMDGPU — документация LLVM 13» . Llvm.org . Проверено 18 января 2022 г.
  9. ^ Перейти обратно: а б «Инфраструктура компилятора LLVM» . Гитхаб . 19 января 2022 г.
  10. ^ «Введение в аппаратное обеспечение графического процессора AMD» – на сайте www.youtube.com.
  11. ^ «Основы HIP-программирования» . Архивировано из оригинала 7 февраля 2023 года.
  12. ^ «Учебный центр РОКм™» . АМД .
  13. ^ «Программирование AMD ROCm/HCC: Введение» . 26 декабря 2018 г.
  14. ^ «Документация AMD — Портал» .
  15. ^ «Вот то, что вы не видите каждый день: PyTorch работает поверх ROCm на ноутбуке 6800M (6700XT)! Потребовалось множество мелких настроек конфигурации и несколько патчей, но он действительно функционально работает. ОГРОМНО!» . 10 декабря 2021 г.
  16. ^ «Руководство по началу работы с ROCm, версия 5.2.3» .
  17. ^ «Практическое руководство: стабильная диффузия на графическом процессоре AMD» . 23 сентября 2022 г.
  18. ^ «Есть какие-нибудь новости о поддержке 5700 Xt?» . Гитхаб .
  19. ^ «Характеристики AMD Radeon RX 6800 XT» . TechPowerUp . Проверено 1 января 2021 г.
  20. ^ Ларабель, Майкл (7 декабря 2016 г.). «Лучшие возможности ядра Linux 4.9» . Фороникс . Проверено 7 декабря 2016 г.
  21. ^ «Презентация РПЦм» . HPCwire.com . 6 июля 2020 г. Проверено 18 января 2022 г.
  22. ^ «AMD представляет графические процессоры Instinct серии MI200 с ускорителем глубокого обучения» . Infoq.com . Проверено 18 января 2022 г.
  23. ^ «Использование CuPy на графическом процессоре AMD (экспериментальное)» .
  24. ^ «AMD отходит от Intel в числе 500 лучших суперкомпьютеров мира, поскольку надвигается война за графические процессоры» . 16 ноября 2020 г.
  25. ^ «Подробное описание суперкомпьютера El Capitan: процессоры и графические процессоры AMD обеспечивают производительность вычислений 2 эксафлопс» .
  26. ^ «Суперкомпьютер El Capitan от Ливермора представит локальное хранилище HPE Rabbit рядом с узлом» . 18 февраля 2021 г.
  27. ^ «Blender 3.0 выводит поддержку графических процессоров AMD на новый уровень. Бета-поддержка уже доступна!» . Gpuopen.com . 15 ноября 2021 г. . Проверено 18 января 2022 г.
  28. ^ «AMD ROCm ⋅ JuliaGPU» . juliagpu.org .
  29. ^ «Установка ROCm v4.3 — документация ROCm 4.5.0» . Rocmdocs.amd.com . Проверено 18 января 2022 г.
  30. ^ «Выполнять научные приложения на ускорителях AMD Instinct стало проще» . HPCwire.com . 18 октября 2021 г. Проверено 25 января 2022 г.
  31. ^ «ROCm для Arch Linux» . Гитхаб.com . 17 января 2022 г. . Проверено 18 января 2022 г.
  32. ^ «Gentoo Linux расширяет возможности AMD ROCm и добивается прогресса в области RISC-V, LTO+PGO Python» . Фороникс.com . Проверено 18 января 2022 г.
  33. ^ «Разработчики Fedora и Debian рассматривают упаковку ROCm для упрощения вычислений на графическом процессоре Radeon» . Фороникс.com . Проверено 18 января 2022 г.
  34. ^ Гамблин, Тодд; ЛеЖандр, Мэтью; Коллетт, Майкл Р.; Ли, Грегори Л.; Муди, Адам; де Супински, Бронис Р.; Футрал, Скотт (15 ноября 2015 г.). «Менеджер пакетов Spack: наведение порядка в хаосе программного обеспечения для HPC» — через GitHub.
  35. ^ Блур, Корделл. «20211221 Примечания к сеансу упаковки и небольшое обновление» . [email protected] (список рассылки) . Проверено 18 января 2022 г.
  36. ^ «[Официальная упаковка Debian] Почему форк ROCm LLVM все еще нужен? · Проблема № 2449 · ROCm-Developer-Tools/HIP» . Гитхаб .
  37. ^ «Аомп-В 14,0-1» . Гитхаб . 22 января 2022 г.
  38. ^ «Инфраструктура компилятора LLVM» . Гитхаб . 10 января 2022 г.
  39. ^ «Справочное руководство для программиста среды выполнения HSA» (PDF) . Фонд HSA. 2 мая 2018 г. Проверено 1 августа 2023 г.
  40. ^ «Реестр Khronos OpenCL — The Khronos Group Inc» . www.khronos.org .
  41. ^ «Список продуктов, совместимых с OpenCL — The Khronos Group Inc» . www.khronos.org . 3 февраля 2022 г.
  42. ^ «Рисунок 3. Иллюстрация процесса компиляции HIPCC. Компилятор clang» .
  43. ^ «AMD публикует «GPUFORT» с открытым исходным кодом как новейшую попытку помочь в переходе от CUDA» .
  44. ^ Майя, Хулио; Чалмерс, Ноэль; Т. Бауман, Пол; Кертис, Николас; Малая, Николай; Макдугалл, Дэймон; ван Оострум, Рене; Вулф, Ной (май 2021 г.). Инструменты поддержки и профилирования библиотеки ROCm (PDF) . АМД.
  45. ^ «Эксклюзив: за заговором с целью ослабить контроль Nvidia над искусственным интеллектом, нацелившись на программное обеспечение» . Рейтер . Проверено 5 апреля 2024 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 8854322F90C1A9ACCA56F89D96157237__1718032500
URL1:https://en.wikipedia.org/wiki/ROCm
Заголовок, (Title) документа по адресу, URL1:
ROCm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)