Перейти к содержимому
Новость

CUDA запустили на Radeon RX 9060 XT в Windows, но пока далеко не всю

Открытый проект CUDA-for-AMD-Windows позволил без переделки CUDA-кода обучить на Radeon RX 9060 XT нейросеть с 2,2 млн параметров. Это уже работающий воспроизводимый пример, но совместимость заканчивается там, где программе нужны отсутствующие в Windows библиотеки CUDA.

BadMadSam
CUDA запустили на Radeon RX 9060 XT в Windows, но пока далеко не всю

Автор: Изображение создано с помощью ChatGPT

Самая интересная часть эксперимента с CUDA на Radeon RX 9060 XT заключается не в самом факте запуска. ZLUDA уже много лет пытается исполнять CUDA-приложения на видеокартах AMD. Разработчик CUDA-for-AMD-Windows собрал вокруг нее воспроизводимую конфигурацию для Windows: ZLUDA v6-preview.69 принимает обращения CUDA-программы, а затем передает поддерживаемые операции библиотекам AMD HIP и ROCm. На проверенной системе заработали CUDA Driver API, cuBLAS, cuBLASLt, cuSPARSE и cuFFT.

Проверка была сложнее простого запуска тестовой утилиты. На Radeon RX 9060 XT выполнили полный цикл обучения PPO-сети с 2 216 347 параметрами через CUDA-версию LibTorch 2.3.0. Одна контрольная итерация обработала 65 536 шагов. Код самой CUDA-библиотеки при этом не переписывали под HIP. Сейчас автор проекта считает проверенной только RX 9060 XT с архитектурным идентификатором gfx1200. Поддержка других Radeon пока не подтверждена.

Есть и полезный A/B-тест, который отделяет рабочую схему от прежних экспериментов разработчика. На одной RX 9060 XT провели по десять запусков одинаковой PPO-нагрузки. После исключения первой прогревочной итерации открытая конфигурация на обычных компонентах ZLUDA и HIP дала медиану 13 278 шагов в секунду. Вариант со старыми восстановленными модифицированными библиотеками получил 12 876 шагов в секунду, примерно на 3% меньше. То есть для этого теста никаких закрытых или специально доработанных бинарников уже не требуется.

Это существенно меняет смысл проекта. Речь идет не о новой реализации CUDA и не о появлении полной поддержки CUDA на Radeon. CUDA-for-AMD-Windows работает как слой совместимости между приложением и теми компонентами ROCm, которые доступны в Windows. В проверенной стабильной конфигурации нет cuDNN через MIOpen. Автор отдельно предупреждает о возможных проблемах с NCCL, TensorRT, некоторым PTX-кодом и пользовательскими CUDA-расширениями. Программа, зависящая от одной из этих частей экосистемы Nvidia, вполне может не запуститься.

01_1360x628_4dd02d43c1

Фото: ITHome

При этом сама RX 9060 XT уже официально поддерживается AMD в ROCm под Windows, включая HIP SDK. В актуальной матрице AMD она проходит как RDNA 4, gfx1200. AMD также прямо оговаривает, что Windows пока получает не весь стек ROCm. Поэтому CUDA-for-AMD-Windows закрывает довольно конкретную нишу: он нужен не вместо ROCm, а для Windows-программ, которые уже написаны под CUDA и не имеют нормального HIP-бэкенда.

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

Источник: ITHome
4 показов