ZLUDA: Какое решение существует для запуска кода CUDA на графических процессорах AMD и Intel?
ZLUDA, проект с открытым исходным кодом, обещает сломить доминирование NVIDIA, позволяя запускать приложения CUDA на графических процессорах AMD и Intel без необходимости переписывания кода.
Доминирование CUDA и проблема привязки к конкретному поставщику.
В области искусственного интеллекта (ИИ) и высокопроизводительных вычислений (ВВП) платформа CUDA от NVIDIA стала практически проприетарной. Большинство важных фреймворков, библиотек и приложений построены на этой архитектуре. Это создает существенный барьер, или «привязку к поставщику», делая разработчиков и предприятия сильно зависимыми от аппаратной экосистемы NVIDIA.
Перенос проекта с CUDA на другую платформу, например, AMD ROCm или Intel OneAPI, часто требует значительных усилий по переписыванию и оптимизации исходного кода. Поэтому появление решений для обеспечения совместимости, таких как ZLUDA, привлекает значительное внимание со стороны технологического сообщества.
Как работает ZLUDA?
ZLUDA — это проект с открытым исходным кодом, который выступает в качестве слоя совместимости, позволяя приложениям CUDA запускаться напрямую на графических процессорах, отличных от NVIDIA, в частности, от AMD и Intel. Вместо того чтобы требовать от разработчиков модификации исходного кода, ZLUDA работает путем «перехвата» вызовов API CUDA и «преобразования» их в соответствующие инструкции на целевой платформе, например, ROCm от AMD.
Недавно проект был обновлен для поддержки ROCm 7, новейшей программной платформы AMD для вычислений на графических процессорах и в области искусственного интеллекта. Это значительный шаг вперед, демонстрирующий потенциал ZLUDA в использовании мощности новейших графических процессоров AMD для задач, изначально разработанных для NVIDIA.

Потенциал и предстоящие вызовы
Теоретически, ZLUDA предлагает ряд существенных преимуществ. Разработчики могут масштабировать свои приложения для систем, использующих оборудование AMD или Intel, без затрат и времени на миграцию исходного кода. Это способствует конкуренции на рынке оборудования, предоставляя больше возможностей и потенциально помогая снизить стоимость графических процессоров.
Однако проект находится на самой ранней стадии и сталкивается с многочисленными проблемами. Фактическая производительность приложений, работающих через этот слой совместимости, по сравнению с приложениями, работающими непосредственно на графических процессорах NVIDIA, остается большим вопросом. Кроме того, стабильность и совместимость со всеми сложными функциями CUDA также требуют времени для проверки в реальных условиях.
В настоящее время ZLUDA носит преимущественно экспериментальный характер и ориентирована на разработчиков, желающих изучить масштабируемость приложений CUDA за пределами экосистемы NVIDIA. Для широкого распространения проекту необходимо продемонстрировать конкурентоспособную производительность и надежность в крупномасштабных приложениях.


