ZLUDA - запуск майнеров для Nvidia на видеокартах AMD

запуск cuda майнера на AMDВидеокарты AMD 10 лет назад считались наилучшим выбором для майнинга, т.к. они имели большую производительность на популярных тогда алгоритмах майнинга SHA-256, Scrypt, Ethash, Cryptonight и при этом заметно более низкую стоимость. В дополнение к этому, как правило, изначально выходило ПО для майнинга (майнеры) именно для видеокарт AMD, а потом уже для Nvidia. Что позволяло снять сливки на новой популярной с самого старта криптовалюте. На текущий момент компания AMD утратила лидерство в майнинге, т.к. именно видеокарты Nvidia более производительные в майнинге, под них в первую очередь выпускаются майнеры под новые алгоритмы, а потом уже под видеокарты AMD. За продукцией компании AMD осталось только одно преимущество это их цена, да и то разрыв в стоимости видеокарт уже не такой большой как это было 10 лет назад. 

Это не означает, что продукция компании AMD полностью не дееспособна в майнинге на современном этапе, тем более что с помощью программы ZLUDA владельцы видеокарт Radeon могут обойти один недостаток и запускать майнинг криптовалют даже если есть только майнер для видеокарт Nvidia.

Другими словами ZLUDA позволяет в один клик начать использовать программное обеспечение созданное специально только для видеокарт Nvidia и это не ограничивается только программами для майнинга, т.к. с помощью Zluda вы сможете запустить на своей видеокарте AMD программы для рендеринга как V-Ray и Blender, которые поддерживают только ускорение с помощью видеокарт Nvidia (CUDA).

Причем по заверениям разработчика потери производительности при запуске Cuda приложений на видеокартах AMD минимальны или вообще отсутствуют. Т.к. используется тот же принцип который использовала компания Apple при переходе с процессоров Intel на собственные ARM процессоры M1, что бы запускать приложения для процессоров X86 на процессорах ARM без потерь. Компания Apple назвала свой транслятор кода (эмулятор) Rosetta 2. 

Именно таким же транслятором или эмулятором видеокарт Nvidia и является программа Zluda. Т.к. перед запуском Cuda приложений происходит аналогичная трансляция кода на которое требуется время, но после завершения этого процесса программа созданная для оборудования Nvidia работает уже на картах AMD не подозревая о подлоге.

Работа Zluda основана на работе библиотеке вычислений ROCm, созданной компанией AMD для конкуренции с Cuda и по факту является ее полным клоном. Внутри пакета ROCm существует специальная программа для конвертации команд для Cuda в команды ROCm называется она HIPIFY. Язык программирования для ROCm называется HIP. 

Получается что запускать вычислительные программы для Cuda на видеокартах AMD можно было еще в 2016 году, когда появился ROCm. Что бы это сделать нужен сам код что бы его сначала транслировать в код для ROCm, но в случае с готовыми продуктами (майнеры, Blender) у обычного пользователя нет доступа к коду и поэтому этот функционал оставался не востребованным.

В случае с Zluda как и с Rosetta 2 от Apple Вам не нужен исходный код программы, т.к. трансляция происходит во время запуска готового приложения, когда эмулятор подбирает команды от ROCm для CUDA запросов от эмулируемого приложения. В случае когда прямого аналога не находится то происходит динамическая компиляция кода (JIT). Т.к. ROCm это прямой аналог Cuda, в отличии от архитектур X86 и ARM, то количество проблем с эмуляцией кода Cuda приложений должно быть минимальным.

Поддержка ROCm начинается с видеокарт поколения Polaris это Radeon RX 400 серии и новее, т.е. теоретически на всех видеокартах AMD которые новее 2016 года эмуляция CUDA приложений должна работать.  

amd rocm cuda

Проверить свою идею с запуском майнеров криптовалют для видеокарт Nvidia на решениях от AMD мы к сожалению не можем по причине отсутствия последних, но судя по восторженным отзывам по работе Blender и V-Ray на видеокартах Radeon, c CUDA майнерами так же не должно возникнуть проблем.

Если у Вас есть желание и возможности для таких экспериментов, то будем благодарны, если оставите обратную связь в нашем телеграм чате Cryptoage о ваших экспериментах в этой области.

Для Linux  Вам необходимо будет установить непосредственно сам ROCm и транслятор кода ZLUDA.

Для Windows так же существует компилированная версия Zluda, но вместо ROCm ставится уже пакет HIP SDK