ZLUDA и ROCm научили CUDA-приложения работать на AMD Radeon RX 9060 XT

Проект CUDA-for-AMD-Windows на GitHub выложил «рабочий воспроизводимый стек», связку ZLUDA и AMD HIP/ROCm, которая позволяет CUDA-ориентированным приложениям для Windows, включая вычисления на CUDA-совместимой сборке LibTorch, работать на видеокарте AMD. Подтверждена работа пока только на одной карте, AMD Radeon RX 9060 XT (архитектура gfx1200, поколение RDNA4). Остальные видеокарты AMD в проекте называют «кандидатами», а не подтверждённо рабочими устройствами: их владельцев просят открыть отчёт о совместимости независимо от того, заработало железо или нет.
Протестированный «публичный» путь не использует ни одной приватной или восстановленной DLL: он собран из официального релиза ZLUDA версии v6-preview.69, AMD HIP SDK 6.4 и LibTorch 2.3.0+cu118, всё на той же RX 9060 XT. На этой связке проверку cuda_check прошли библиотеки nvcuda, cuBLAS, cuBLASLt, cuSPARSE и cuFFT. Ключевой проверкой стала настоящая нейросеть на 2 216 347 параметров, обучаемая по алгоритму PPO: на CUDA-ориентированном устройстве отработали и прямой проход (инференс), и само обучение PPO, и работа оптимизатора; одна «чистая» валидационная итерация обработала 65 536 временных шагов. Проект прямо оговаривает: это не значит, что заработает любая CUDA-программа или любая ИИ-модель, поддержка конкретных CUDA-библиотек зависит от нагрузки.
По схеме проекта, CUDA-приложение для Windows обращается к ZLUDA, та транслирует вызовы cuBLAS, cuSPARSE и cuFFT в слой совместимости, а он, в rocBLAS, hipBLASLt и rocSPARSE поверх HIP, который уже работает с видеокартой AMD. Установка сводится к тому, чтобы поставить актуальный драйвер AMD и AMD HIP SDK для Windows (проверенная версия, 6.4), склонировать репозиторий и запустить PowerShell-скрипт install.ps1. Он сам определяет модель GPU и её gfx-архитектуру, проверяет драйвер, HIP SDK и нужные математические библиотеки, скачивает закреплённую по версии официальную сборку ZLUDA для Windows и LibTorch 2.3.0+cu118 (около 2,66 ГБ), сверяет у скачанного SHA-256, создаёт файлы runtime-config.json и gpu-report.json и прогоняет проверку cuda_check.exe против уже установленного стека AMD; загрузку LibTorch можно пропустить отдельным флагом. Дальше отдельный скрипт запускает целевое CUDA-приложение, подкладывая рядом нужные библиотеки совместимости и выставляя пути к среде выполнения HIP/ROCm, либо просто готовит окружение без запуска. Отдельный скрипт-сканер видеокарты фиксирует модель, gfx-архитектуру, версию драйвера и HIP, по заявлению проекта, без намеренного сбора имён пользователей, токенов или пользовательских файлов; неподтверждённые архитектуры он помечает как «неподтверждённых кандидатов», а не как поддерживаемые.
13 сентября 2026 года проект провёл контролируемый A/B-тест: по 10 итераций на каждый из двух путей запуска на той же RX 9060 XT и той же PPO-нагрузке, первую итерацию каждого прогона отбросили как разогрев. Публичный путь на официальном ZLUDA показал медиану 13 278 шагов в секунду (SPS) против 12 876 SPS у более ранней закрытой надстройки cuBLAS/cuBLASLt поверх HIP, собранной на восстановленных DLL ещё на стадии разработки проекта, то есть закрытая надстройка оказалась медленнее примерно на 3,03%, и по умолчанию проект использует именно публичный путь. Отдельно упомянуты «исторические» настроенные прогоны на 70 000, 109 000 шагов в секунду, но они шли на другой, не уточнённой в тексте конфигурации обучения, и сравнивать их напрямую с 13 278 и 12 876 из контролируемого A/B нельзя. Сами DLL закрытой надстройки зафиксированы по хэшу в манифесте проекта, но не опубликованы как готовые бинарные файлы: происхождение исходного кода этой надстройки задокументировано не полностью, а её среда выполнения HIP включает сторонние бинарные файлы AMD.
Проект сам перечисляет границы: рабочей подтверждена только RX 9060 XT/gfx1200; ZLUDA не реализует CUDA полностью; на Windows доступна лишь часть экосистемы ROCm; в проверенной стабильной сборке AMD HIP SDK нет полного набора ИИ-библиотек ROCm вроде MIOpen, поэтому программам с интенсивными свёртками, которым нужен cuDNN, может понадобиться более новая или ночная сборка HIP SDK либо дополнительная доработка, а вот обучение LibTorch на плотных матричных операциях не обязательно требует cuDNN: проверенная PPO-нагрузка обошлась без него. NCCL, TensorRT, неподдерживаемое поведение PTX и часть нестандартных CUDA-расширений, по словам проекта, могут не заработать. Переменная окружения ZLUDA_CC=8.6, это значение совместимости для CUDA-стороны, а не настоящая архитектура видеокарты AMD. Лицензия смешанная: MIT покрывает только собственные скрипты и документацию проекта, а ZLUDA, AMD ROCm/HIP, компоненты NVIDIA CUDA и PyTorch/LibTorch остаются на своих отдельных лицензиях.
Ключевые факты
- Проект CUDA-for-AMD-Windows выложил на GitHub воспроизводимый стек на ZLUDA и AMD HIP/ROCm, который запускает CUDA-приложения для Windows, включая нагрузки на LibTorch, без приватных или восстановленных DLL.
- Подтверждена работа только на одной карте, AMD Radeon RX 9060 XT (gfx1200, RDNA4); остальные видеокарты AMD в проекте числятся непроверенными кандидатами.
- Проверочная нагрузка, нейросеть на 2 216 347 параметров, обучаемая по алгоритму PPO: на ней отработали прямой проход, обучение и оптимизатор, а одна валидационная итерация обработала 65 536 временных шагов.
- В контролируемом A/B-тесте 13 сентября 2026 года (по 10 итераций на путь) публичный путь дал медиану 13 278 шагов в секунду против 12 876 у более ранней закрытой надстройки на восстановленных DLL, она оказалась медленнее примерно на 3,03%.
- Собственные ограничения проекта: в стабильном Windows HIP SDK нет MIOpen и полного стека ROCm для ИИ, поддержки cuDNN нет, а NCCL, TensorRT и часть нестандартных CUDA-расширений могут не заработать.
Почему это важно
Огромная часть библиотек, готовых моделей и учебных материалов для машинного обучения исторически привязана к CUDA и, соответственно, к видеокартам NVIDIA; AMD годами развивает собственный стек ROCm/HIP, но многие CUDA-программы на нём просто не запускались. Этот проект, не продукт AMD или NVIDIA, а результат независимой инженерной работы, которая показывает: связка ZLUDA и HIP/ROCm уже способна довести конкретную CUDA-нагрузку (обучение через LibTorch) до рабочего состояния на конкретной массовой видеокарте AMD, причём собранную целиком из публичных официальных компонентов, без закрытых или восстановленных DLL. Отдельно важно, что в прямом сравнении именно этот публичный путь оказался не медленнее, а быстрее более ранней приватной надстройки: отказ от закрытых компонентов здесь не стоил производительности.
Кому это важно
В первую очередь, владельцам AMD Radeon RX 9060 XT, которые хотят выполнять на этой карте CUDA-ориентированные вычисления (прежде всего через LibTorch) без покупки видеокарты NVIDIA: для них проект даёт конкретный, воспроизводимый по шагам путь. Дальше, разработчикам и исследователям, которые следят за ZLUDA и совместимостью CUDA/ROCm в целом и оценивают, насколько такие связки годятся для реальных задач, а не только для синтетических тестов. И отдельно, владельцам других видеокарт AMD, которых проект прямо просит проверить свою карту и отчитаться о результате: расширение списка подтверждённого железа зависит именно от таких отчётов о совместимости.
Как это применить
Порядок действий, который описывает сам проект: поставить актуальный драйвер AMD и AMD HIP SDK для Windows (проверенная версия, 6.4), склонировать репозиторий CUDA-for-AMD-Windows и запустить PowerShell-скрипт install.ps1. Он сам определяет модель GPU и её gfx-архитектуру, проверяет драйвер, HIP SDK и нужные математические библиотеки, скачивает закреплённую по версии официальную сборку ZLUDA для Windows и LibTorch 2.3.0+cu118 (около 2,66 ГБ), сверяет у скачанного SHA-256, создаёт runtime-config.json и gpu-report.json и прогоняет проверку cuda_check.exe против уже установленного стека AMD; загрузку LibTorch можно пропустить отдельным флагом, если она не нужна. Дальше отдельный скрипт запускает целевое CUDA-приложение, подкладывая рядом нужные библиотеки совместимости и выставляя пути к среде выполнения HIP/ROCm, либо просто готовит окружение без запуска. Есть отдельные скрипты для диагностики и для сканирования видеокарты, который фиксирует модель, gfx-архитектуру, версию драйвера и HIP, по заявлению проекта, без намеренного сбора имён пользователей, токенов или пользовательских файлов. Если видеокарта не RX 9060 XT, проект просит всё равно открыть отчёт о совместимости, независимо от того, заработало или нет.
Можно ли доверять
Источник, сам репозиторий проекта на GitHub, то есть первичное, а не независимо проверенное описание: цифры по параметрам сети, временным шагам и скорости (SPS), это собственные измерения авторов, а не данные стороннего аудита. При этом методология описана подробно и проверяемо: версии ZLUDA, HIP SDK и LibTorch зафиксированы точно, скачанные файлы сверяются по SHA-256, а методика валидации и бенчмарков вынесена в отдельные документы репозитория (VALIDATION.md, BENCHMARKS.md), с которыми можно свериться самостоятельно. Проект сам честно ограничивает объём проверенного: подтверждена только одна карта и одна нагрузка (PPO-нейросеть через LibTorch), а фраза «это не значит, что заработает любая CUDA-программа или ИИ-модель» стоит в тексте прямым текстом. Кто именно ведёт проект, в тексте репозитория не указано: имя Speedstu встречается только в адресе репозитория и в команде git-клонирования, без указания роли, поэтому персональной атрибуции у материала нет.
Риски и подводные камни
Проект сам перечисляет границы применимости: рабочей подтверждена только RX 9060 XT/gfx1200, всё остальное железо AMD, непроверенные кандидаты, а само обнаружение архитектуры сканером ещё не доказывает, что на ней заработает нагрузка. ZLUDA не реализует CUDA полностью, а на Windows доступна лишь часть экосистемы ROCm. В проверенной стабильной сборке AMD HIP SDK нет полного набора ИИ-библиотек ROCm вроде MIOpen, поэтому программам с интенсивными свёртками, которым нужен cuDNN, может понадобиться более новая или ночная сборка HIP SDK либо дополнительная доработка (обучение LibTorch на плотных матричных операциях не обязательно требует cuDNN: проверенная PPO-нагрузка обошлась без него). NCCL, TensorRT, неподдерживаемое поведение PTX и часть нестандартных CUDA-расширений, по словам проекта, могут не заработать. Отдельная ловушка, переменная окружения ZLUDA_CC=8.6: это значение совместимости для CUDA-стороны, а не настоящая архитектура видеокарты AMD, путать одно с другим не стоит. «Исторические» прогоны на 70 000, 109 000 шагов в секунду не сравнимы напрямую с цифрами контролируемого A/B (13 278 против 12 876): они получены на другой, не описанной в тексте конфигурации обучения, и не доказывают, что закрытая или тонко настроенная сборка на порядок быстрее официального пути. Наконец, лицензия смешанная: MIT покрывает только собственные скрипты и документацию проекта, а ZLUDA, AMD ROCm/HIP, компоненты NVIDIA CUDA и PyTorch/LibTorch остаются на своих отдельных лицензиях, которые нужно проверять отдельно.