Follow

Анджей Яник (Andrzej Janik) представил обновление проекта ZLUDA, развивающего открытую реализацию технологии CUDA. Целью проекта является предоставление возможности запуска немодифицированных приложений CUDA на системах с GPU, отличных от GPU NVIDIA, с производительностью, близкой к производительности приложений, выполняемых без прослоек. Код проекта распространяется под лицензиями MIT и Apache 2.0.

ZLUDA 4 преподносится как первый выпуск, сформированный после чистки кодовой базы от кода, разработанного во время работы Анджея в компании AMD. С 2022 года Анджей работал в AMD над созданием слоя для совместимости GPU AMD с CUDA, но в 2024 году проект был свернут. В соответствии с условиями контракта и после получения разрешения на публикацию от представителя AMD, Анджей открыл код наработок, созданных во время работы в AMD и позволяющих выполнять CUDA-приложения поверх стека ROCm и runtime HIP (Heterogeneous-computing Interface for Portability). В октябре Анджей был вынужден убрать код из открытого доступа после письма от юристов, давших понять, что разрешение в ходе переписки по email не имеет юридической силы.

Новая редакция ZLUDA сформирована на основе кодовой базы, существовавшей до начала работы Анджея в AMD, не привязана к конкретным GPU и сосредоточена на выполнении приложений, использующих CUDA для ускорения задач, связанных с машинным обучением и искусственным интеллектом. Проект пока ограничивается работой на GPU AMD, но в дальнейшем будет адаптирован для GPU Intel. Выпуск ZLUDA 4 написан на языке Rust и ориентирован на выполнение тестового набора Geekbench 5.

Новая версия включает новый парсер для PTX, промежуточного языка, используемого в GPU NVIDIA. Выпуск также примечателен уходом от эмуляции специфичных для GPU NVIDIA инструкций инкремента и декремента по модулю, вместо которых теперь вызываются аналогичные инструкции GPU AMD. Указанные изменения позволили добиться повышения производительности при прохождении теста Geekbench примерно на 10%, по сравнению с OpenCL и веткой ZLUDA 3.

Хештеги:

Библиография:
**Яник, Анджей.** (2024). Обновление проекта ZLUDA. [Интернет-ресурс].
**CUDA и ROCm.** Heterogeneous-computing Interface for Portability: технологии и использование. Apache Software Foundation.
**Geekbench 5.** Кроссплатформенный тест производительности.
**Rust Language.** Программирование на Rust: особенности и преимущества.
**AMD GPU.** ROCm и его возможности. Технический обзор.
Если нужна дополнительная доработка, уточните, пожалуйста!

Проект поддерживает Windows и Linux, MacOS не поддерживается
github.com/vosen/ZLUDA/

pocketnet.app/lms_art?s=4e1db2

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.