Благодаря последним обновлениям ROCm компания AMD наконец обеспечила надежную официальную поддержку PyTorch и HIP SDK для Windows на потребительских видеокартах, полностью поддерживая серии Radeon RX 7000 и RX 9000. Для нативных, поддерживаемых фреймворков AMD на Windows наконец стала жизнеспособной реальностью, но что происходит, когда вы хотите запустить проприетарное приложение, старый репозиторий или специализированный ИИ-инструмент, который категорически отказывается поддерживать что-либо, кроме CUDA от NVIDIA? Здесь на помощь может прийти новый проект Speedstu под названием «CUDA-for-AMD-Windows». Он доказывает, что запуск строго эксклюзивных для CUDA рабочих нагрузок на оборудовании AMD в Windows возможен без виртуализации или двойной загрузки.
Чтобы внести ясность, этот проект не является совершенно новой средой выполнения. Вместо этого это высокоавтоматизированная и воспроизводимая настройка PowerShell, которая устраняет разрыв между ZLUDA, известным, ранее финансируемым AMD слоем трансляции, и нативным SDK HIP/ROCm от AMD для Windows. С помощью ряда умных скриптов набор инструментов автоматически определяет архитектуру GPU пользователя, загружает специально закрепленную версию ZLUDA (v6-preview.69) и, по крайней мере теоретически, бесшовно сопоставляет ее с математическими библиотеками ROCm, уже присутствующими в Windows.
В результате разработчику удалось перехватить и сопоставить CUDA driver API, а также библиотеки cuBLAS, cuSPARSE и cuFFT напрямую с их эквивалентами AMD. В качестве доказательства концепции автор даже обучил сеть обучения с подкреплением PPO с 2,2 миллионами параметров от начала до конца, используя неизмененные библиотеки CUDA на AMD Radeon RX 9060 XT, которая на данный момент является единственной официально поддерживаемой видеокартой.
Даже при официальной поддержке ROCm от AMD в Windows местное сообщество разработчиков часто сталкивается с «адом зависимостей» при попытке использовать экспериментальные репозитории GitHub или специализированные ИИ-инструменты, которые жестко требуют CUDA. Для разработчиков, которые хотят экспериментировать с этими эксклюзивными для CUDA инструментами нативно на своих повседневных машинах с Windows, не сталкиваясь с проблемами проброса WSL2 или не ожидая, пока оригинальный автор напишет порт HIP, этот проект предлагает весьма желаемый конвейер трансляции. Он действует как своего рода хакерский адаптер для программного обеспечения, которое упорно требует карту NVIDIA.
Тестирование производительности, включенное в документацию проекта, дает интересные результаты. В контролируемом A/B тесте, выполняющем рабочую нагрузку обучения с подкреплением с 2,2 млн параметров на Radeon RX 9060 XT, «общедоступный путь», который полагается исключительно на официальные релизы ZLUDA и стандартный HIP SDK 6.4 от AMD, достиг средней пропускной способности 13 278 шагов в секунду (SPS). Напротив, необязательный «восстановленный пользовательский оверлей», очевидно, созданный из восстановленных устаревших двоичных файлов ZLUDA, работал немного хуже — 12 876 SPS, что примерно на 3% медленнее. Хотя чистая официальная настройка быстрее, автор отмечает, что «более поздняя переработка удалила LibTorch/ZLUDA из PPO и достигла значительно более высокой пропускной способности», указывая на то, что этот стек трансляторов все еще вызывает снижение производительности.
Теперь, прежде чем кто-либо объявит, что «ров CUDA» официально осушен, крайне важно установить реалистичные ожидания. Во-первых, это сольный проект с открытым исходным кодом, а не решение корпоративного уровня. Автор предельно откровенен относительно его узкой направленности, поскольку критически важные библиотеки машинного обучения, такие как cuDNN, TensorRT и NCCL, еще не разрешены. Это означает, что совместимость строго зависит от рабочей нагрузки; если ваш конкретный ИИ-инструмент сильно зависит от cuDNN, эта настройка не сработает. Кроме того, стоит отметить, что сам ZLUDA в настоящее время поддерживается как «хобби-проект выходного дня» после того, как он во второй раз потерял коммерческую поддержку. Использование этого конвейера для работы на уровне производства остается огромным риском. Этот репозиторий — инструмент для энтузиастов, а не стратегия корпоративного ИТ-развертывания.
Несмотря на эти ограничения, «CUDA-for-AMD-Windows» весьма впечатляет, поскольку доказывает, что барьер для запуска эксклюзивного для CUDA программного обеспечения на видеокартах AMD — это не непреодолимый аппаратный недостаток, а относительно решаемая проблема инструментария трансляции. Поскольку проект полностью основан на открытом исходном коде, его потенциал выходит далеко за рамки этого первоначального доказательства концепции. С вкладом сообщества мы можем увидеть расширенное обнаружение оборудования и умные исправления для правильного разрешения более сложных библиотек CUDA.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Zak Killian




