CUDA for AMD på Windows kjører LibTorch-trening, men bare RX 9060 XT er testet
Pakker ZLUDA, AMDs HIP SDK 6.4 og LibTorch inn i ett installasjonsskript som lar CUDA-bygde Windows-programmer kjøre på AMD-kort, foreløpig bekreftet på ett eneste kort.
GitHub-prosjektet CUDA for AMD on Windows, lagt ut 13. september, er et reproduserbart oppsett for CUDA-programmer på Radeon-kort. Utvikleren har kjørt en ekte PPO-treningsjobb med 2 216 347 parametere gjennom stacken: inferens, læring og optimizer-steg fullførte 65 536 tidssteg på et Radeon RX 9060 XT, med bare offentlige, offisielle komponenter.
Kjeden er enkel å forklare. Programmet tror det snakker med CUDA, ZLUDA oversetter kallene, og AMDs biblioteker gjør jobben: cuBLAS går til rocBLAS, cuBLASLt til hipBLASLt og cuSPARSE til rocSPARSE. Skriptet install.ps1 finner kortets gfx-arkitektur, sjekker driver og HIP SDK, laster ned en låst ZLUDA-build og LibTorch 2.3.0+cu118 (rundt 2,66 GB), verifiserer SHA-256-hashene og kjører ZLUDAs egen cuda_check til slutt.
«This does not mean every CUDA program or AI model works. CUDA API/library coverage is workload-dependent.» — README-en til CUDA for AMD on Windows
Begrensningene står tydelig i prosjektet. Den stabile HIP SDK-en for Windows mangler MIOpen, så programmer som krever cuDNN, typisk konvolusjonstunge modeller, kan feile. NCCL, TensorRT og enkelte egne CUDA-utvidelser er også oppført som usikre. Tette LibTorch-jobber som mest ganger matriser klarer seg uten cuDNN, og det var nettopp en slik PPO-jobb som motiverte prosjektet.
Utvikleren testet også om egne, gjenopprettede DLL-er for cuBLAS og HIP ga mer fart. En kontrollert A/B-test med 10 iterasjoner per runtime ga 13 278 steg i sekundet (median) for den offentlige oppstrømsveien mot 12 876 for den tilpassede, som dermed var 3,03 % tregere. Oppstrøm er derfor standard, og de egne DLL-ene publiseres ikke fordi kildekoden bak dem er ufullstendig. Eldre kjøringer med en annen, tungt tunet konfigurasjon nådde 70 000 til 109 000 steg i sekundet, men de tallene kan ikke sammenlignes direkte.
I Hacker News-tråden om prosjektet ønsket flere seg åpne standarder som SYCL og OpenCL i stedet for enda et lag som etterligner CUDA. Motargumentet kom raskt:
«The problem with the open standards is that their dev UX is absolutely horrible.» — mschuetz, i Hacker News-tråden om prosjektet
For deg med et AMD-kort i en Windows-maskin betyr det at eksisterende CUDA-kode kan prøves uten omskriving, men du blir selv testeren hvis kortet ditt ikke er RX 9060 XT.
Hva bør du gjøre?
- Kjør
doctor.ps1oggpu-scan.ps1først. Andre kort enn RX 9060 XT blir markert som ukjente kandidater, ikke som støttet. - Bruk
install.ps1 -SkipLibTorchhvis du bare skal kjøre et eksisterende CUDA-program, og start det medrun-zluda.ps1 -Program, som legger ZLUDA-DLL-ene ved siden av programmet. - Sjekk om programmet ditt krever cuDNN før du bruker tid på det, og send inn en GPU-kompatibilitetsrapport i repoet uansett resultat.
Bakgrunn
ZLUDA er et åpent kompatibilitetslag som lar programmer bygget for NVIDIAs CUDA kjøre på andre GPU-er. Prosjektet låser ZLUDA v6-preview.69 og HIP SDK 6.4. Nyere versjoner kan fungere, men regnes som uverifiserte til noen har rapportert dem.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.