Инструменты15 сентября 2026 г., 04:16 МСК🤖 Auto

Запуск CUDA на AMD в Windows: ZLUDA + ROCm обходят виртуализацию

Разработчик Speedstu создал PowerShell-скрипт, позволяющий запускать CUDA-приложения на видеокартах Radeon RX 9060 XT в Windows без WSL2, используя связку ZLUDA и HIP.

Баннер новости 7498

Суть проекта: мост между CUDA и ROCm

Несмотря на то, что AMD официально добавила поддержку PyTorch и HIP SDK для Windows, многие специализированные AI-инструменты и старые репозитории жестко привязаны к экосистеме NVIDIA. Проект CUDA-for-AMD-Windows от независимого разработчика Speedstu решает эту проблему, создавая автоматизированный мост. Скрипт использует ZLUDA (трансляционный слой, ранее финансировавшийся AMD) для перехвата вызовов CUDA Driver API и маппинга их на нативные библиотеки AMD ROCm/HIP, уже установленные в системе.

Решение не требует установки виртуальных машин, двойной загрузки или сложной настройки WSL2. Пользователю достаточно запустить PowerShell-скрипт, который автоматически определяет архитектуру GPU и подтягивает нужную версию ZLUDA (на момент теста — v6-preview.69).

Технические детали и ограничения

Проект успешно интегрировал несколько ключевых библиотек, но имеет критические пробелы. Удалось запустить cuBLAS, cuSPARSE и cuFFT. Однако популярные в глубоком обучении библиотеки cuDNN, TensorRT и NCCL пока не работают. Это означает, что совместимость зависит от конкретного workload: если инструмент сильно зависит от cuDNN, запуск не состоится.

В качестве доказательства концепции автор обучил нейросеть PPO (reinforcement learning) с 2.2 миллиона параметров на видеокарте Radeon RX 9060 XT — единственной на данный момент официально поддерживаемой модели в рамках этого метода.

Результаты бенчмарков

Разработчик провел сравнительное тестирование производительности. Были сопоставлены «официальный upstream» (чистая связка ZLUDA и HIP SDK 6.4) и «восстановленная кастомная сборка» из старых бинарников. Результаты показали, что официальная сборка работает стабильнее и немного быстрее.

Метрика Public upstream (Официальная) Recovered custom (Кастомная) Разница
Overall SPS, median 13,278.46 12,875.80 -3.03%
Overall SPS, mean 13,172.49 12,649.83 -3.97%
Collection SPS, median 63,306.00 59,360.67 -6.23%
Inference time, median 0.5863 s 0.6293 s +7.33% (медленнее)
PPO learn time, median 3.2076 s 3.2958 s +2.75% (медленнее)

Почему это важно, но рискованно

Проект доказывает, что барьер для запуска CUDA-софта на AMD в Windows — это не аппаратное ограничение, а проблема инструментальной совместимости, которую можно решить трансляцией. Однако важно понимать контекст:

  • Статус ZLUDA: Проект находится в стадии «выходного хобби» после потери коммерческой поддержки. Это не enterprise-решение.
  • Производительность: Наличие слоя трансляции всегда влечет за собой накладные расходы. Хотя разница в 3-7% на тестовой нагрузке не критична, в сложных сценариях она может быть выше.
  • Назначение: Это инструмент для энтузиастов и разработчиков, желающих протестировать экспериментальные репозитории на своем основном ПК, а не для продакшн-серверов.

Тем не менее, открытость кода дает надежду на то, что сообщество сможет доработать поддержку недостающих библиотек и расширить список совместимых GPU в будущем.

Источник: Tom's Hardware ↗