Разработчик Анджей Яник (Andrzej Janik) опубликовал на GitHub обновлённую версию инструментария ZLUDA 4 для запуска CUDA‑приложений на GPU AMD. Исходный код проекта написан на Rust и распространяется под лицензиями MIT и Apache 2.0.
Целью проекта ZLUDA является предоставление возможности запуска немодифицированных приложений CUDA на системах с GPU, отличных от GPU NVIDIA, с производительностью, близкой к производительности приложений, выполняемых без прослоек. Изначально проект представлял собой встроенную реализацию CUDA для работы через Intel OneAPI. В 2022 году AMD предложила разработчику финансирование для продолжения развития проекта в рамках работы по портированию инструмента для работы на графических процессорах AMD через платформу HIP/ROCm.
Решение РZLUDA позволяет разработчикам иметь доступ к поддержке CUDA для программного обеспечения, которое не оптимизировано специально для оборудования AMD. Они теперь могут использовать CUDA в качестве API рендеринга для Blender 4.0 или V‑Ray. Для Blender, в котором также доступен вычислительный рендер Radeon HIP, это означает, что графические процессоры Radeon могут работать быстрее через библиотеку ZLUDA, чем через HIP.
Ранее AMD прекратила поддержку проекта, а Яник решил опубликовать в открытом доступе свои наработки. В августе 2024 года Яник по требованию компании AMD убрал из открытого доступа часть кода открытого проекта ZLUDA. Он позволяет выполнять немодифицированные CUDA‑приложения на системах с GPU AMD через стек ROCm и runtime HIP (Heterogeneous‑computing Interface for Portability).
По информации OpenNET, версия проекта ZLUDA 4 преподносится как первый выпуск, сформированный после чистки кодовой базы от кода, разработанного во время работы Яника в компании AMD.
Новая редакция ZLUDA сформирована на основе кодовой базы, существовавшей до начала работы Яника в AMD, не привязана к конкретным GPU и сосредоточена на выполнении приложений, использующих CUDA для ускорения задач, связанных с машинным обучением и искусственным интеллектом. Проект пока ограничивается работой на GPU AMD, но в дальнейшем будет адаптирован для GPU Intel. Выпуск ZLUDA 4 написан на языке Rust и ориентирован на выполнение тестового набора Geekbench 5.
Новая версия ZLUDA включает в себя новый парсер для PTX, промежуточного языка, используемого в GPU NVIDIA. Выпуск также примечателен уходом от эмуляции специфичных для GPU NVIDIA инструкций инкремента и декремента по модулю, вместо которых теперь вызываются аналогичные инструкции GPU AMD. Указанные изменения позволили добиться повышения производительности при прохождении теста Geekbench примерно на 10%, по сравнению с OpenCL и веткой ZLUDA 3.
Источник новости: habr.com