Многим известно, что CUDA является наиболее часто используемой платформой для ускорения массовых параллельных вычислений, применяемых в различных практических и исследовательских областях.  В 2016 году AMD представила в буквальном смысле клон платформы CUDA —  ROCm. Альтернативы модулей CUDA для ROCm можно увидеть в таблице с официального сайта AMD. Модуль платформы CUDA Модуль платформы ROCm cuBLAS rocBLAS   cuFFT  rocFFT   cuSPARSE   rocSPARSE   cuSolver   rocSOLVER   AMG-X   rocALUTION   Thrust   rocThrust   CUB   rocPRIM   cuDNN   MIOpen   cuRAND   rocRAND   EIGEN   EIGEN   NCCL   RCCL    Данная библиотека позволяет в автоматическом режиме переносить исходный код предназначенный для платформы CUDA на ROCm и выполнять его компиляцию. Одним из недостатков данной платформы является исключительная ориентированность на ОС Linux. Перейдем непосредственно к переносу кода и сравнению производительности платформ.  ПК 1 ПК 2 Операционная система Windows 10 Pro 21H1 Ubuntu 22.04  5.15.0-53-generic CPU x2 Intel Xeon Gold 6132 i5-12600K RAM x4 DDR4 16GB x1 DDR4 32GB GPU GeForce RTX 3070 8GB  Radeon RX 6800 XT 16GB Переходим на сайт NVidia (https://developer.nvidia.com/cuda-downloads) и скачиваем последнюю версию CUDA Toolkit для необходимой платформы. На скриншоте ниже представлена минимально необходимая конфигурация для компиляции и запуска платформы CUDA на ОС Windows.  Рассмотрим ход установки ROCm на ОС Ubuntu 22.04. (https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.3/page/How_to_Install_ROCm.html - на данном веб-сайте перечислены способы установки для некоторых других дистрибутивов Linux) 2.1 Загружаем пакет установщика и устанавливаем его. 2.2 Установка необходимых компонентов ROCm В процессе установки могут появиться ошибки, однако они никак не должны повлиять на работу платформы. На самом деле я на 100% не уверен, что это минимально необходимый набор модулей для установки, но путем проб и ошибок я пришел именно к этому набору. 2.3 Установка CUDA.  Для портирования кода CUDA на ROCm также необходимо установить CUDA Toolkit. Проще всего это сделать следующей командой. (Другие версии CUDA и методы установки можно найти на данной веб-странице https://developer.nvidia.com/cuda-downloads)  В качестве тестового примера возьмем код перемножения матриц случайных целых 32-битных чисел с Github (https://github.com/lzhengchun/matrix-cuda). С помощью команд PowerShell представленных ниже скачиваем и компилируем исходные файлы. После выполнения приведенных ниже команд в директории с исходным кодом появится исполняемый файл "a.exe". Преобразование кода CUDA в ROCm выполняется при помощи утилиты платформы ROCm HIPIFY(от HIP - язык программирования платформы ROCm) После выполнения данных команд в директории рядом с файлом matrix_cuda.cu появится файл matrix_cuda.cu.hip, который является файлом исходного кода для платформы ROCm. Компиляция кода для платформы ROCm выполняется при помощи компилятора HIPCC. После выполнения приведенных ниже команд в директории с исходным кодом появится исполняемый файл "a.out". Размер матриц Время выполнения CUDA Время выполнения ROCm 1000x1000 2.536 мс 5.812 мс 10000x10000 195.123 мс 297.219 мс В данном примере мы видим, что из-за особенностей архитектуры AMD (меньшее количество блоков для операций над 32-битными числами) наблюдается отставание в производительности в полтора-два раза. Преобразуем исходные файлы  для произведения операций над 16-битными числами и снова протестируем производительность платформ. Размер матриц Время выполнения CUDA Время выполнения ROCm 1000x1000 0.83256 мс 1.421 мс 10000x10000 153.241699 16.105 мс 20000x20000 256.836761 мс 52.155 мс В случае с операциями на 16-битными числами преимущество в скорости вычислений на стороне платформы ROCm. Таким образом у владельцев видеоускорителей AMD Radeon последнего поколения имеется возможность за пару кликов преобразовать код CUDA в код, который будет также быстро работать на "красных" видеокартах. P.S.  Это моя первая статья на habr. Решил написать, так как очень долго сам провозился с настройкой всего этого дела. Может быть кто-то с её помощью сэкономит своё время.  Full StackOverflow Developer