CUDA for AMD on Windows A reproducible Windows CUDA compatibility stack built on ZLUDA v6-preview.69 and AMD HIP SDK 6.4 has been published on GitHub, validated only on the AMD Radeon RX 9060 XT (gfx1200). The setup passes cuda_check for nvcuda, cuBLAS, cuBLASLt, cuSPARSE and cuFFT, and ran a 2,216,347-parameter PPO network through forward/inference, learning and optimizer work, completing one validation iteration of 65,536 timesteps with LibTorch 2.3.0 + cu118. The project's author cautions that CUDA API and library coverage is workload-dependent and that other AMD GPUs are unverified candidates rather than supported devices. WORKING REPRODUCIBLE STACK IS NOW UPLOADED. Run CUDA-targeted Windows applications on AMD GPUs through ZLUDA + ROCm/HIP. A reproducible Windows CUDA compatibility setup built around ZLUDA + AMD HIP/ROCm . It is intended for CUDA-facing compute applications, including workloads that use CUDA-enabled LibTorch. Important Validated hardware is currently AMD Radeon RX 9060 XT gfx1200 only. Other AMD GPUs are candidates, not guaranteed working devices. If you test another card, please open a GPU compatibility report https://github.com/Speedstu/CUDA-for-AMD-Windows/issues/new?template=gpu-compatibility.yml , whether it works or fails. The public, upstream-only path has been tested without any private/recovered DLLs: - ZLUDA v6-preview.69 from the official ZLUDA release - AMD HIP SDK 6.4 - LibTorch 2.3.0 + cu118 - RX 9060 XT / gfx1200 - nvcuda , cuBLAS, cuBLASLt, cuSPARSE and cuFFT all pass cuda check - a real 2,216,347-parameter PPO network completed forward/inference, PPO learning and optimizer work on the CUDA-facing device - one clean validation iteration completed 65,536 timesteps using the runtime produced by this repository That integration test used the same CUDA-facing LibTorch training workload that originally motivated this project. See docs/VALIDATION.md /Speedstu/CUDA-for-AMD-Windows/blob/main/docs/VALIDATION.md . This does not mean every CUDA program or AI model works. CUDA API/library coverage is workload-dependent. CUDA-targeted Windows application | ZLUDA | cuBLAS / cuSPARSE / cuFFT compatibility | rocBLAS / hipBLASLt / rocSPARSE / HIP | AMD GPU Install a current AMD GPU driver and the AMD HIP SDK for Windows including HIP Libraries . The validated reference uses HIP SDK 6.4. Newer versions may work but should be treated as unverified until reported. AMD Windows HIP SDK guide: https://rocm.docs.amd.com/projects/install-on-windows/en/docs-6.4.2/index.html https://rocm.docs.amd.com/projects/install-on-windows/en/docs-6.4.2/index.html git clone https://github.com/Speedstu/CUDA-for-AMD-Windows.git cd CUDA-for-AMD-Windows powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1 install.ps1 will: 1. detect the AMD GPU and native gfxXXXX target; 2. verify the AMD driver/HIP SDK and required math libraries; 3. download the pinned official ZLUDA Windows build; 4. download LibTorch 2.3.0+cu118 about 2.66 GB ; 5. verify the downloaded SHA-256 hashes; 6. generate .runtime\runtime-config.json and .runtime\gpu-report.json ; 7. run ZLUDA's cuda check.exe against the installed AMD stack. If you do not need LibTorch: .\scripts\install.ps1 -SkipLibTorch .\scripts\run-zluda.ps1 -Program C:\path\to\app.exe The launcher stages the required ZLUDA compatibility DLLs beside the target application and sets the HIP/ROCm runtime paths for that run. You can also stage without launching: .\scripts\stage-runtime.ps1 -TargetDir C:\path\to\your-app .\scripts\doctor.ps1 .\scripts\gpu-scan.ps1 .\scripts\test-runtime.ps1 The GPU scanner records the model, gfx architecture, driver and HIP information. It does not intentionally collect usernames, tokens or user files. Example on the validated machine: php AMD Radeon RX 9060 XT - gfx1200 - RDNA4 - validated-reference | GPU | Target | Project status | |---|---|---| | Radeon RX 9060 XT | gfx1200 | ✅ validated reference | The scanner recognizes other Windows HIP architecture families and marks them as unverified candidates rather than claiming support. Detection is not proof that a workload runs. AMD's current Windows hardware table: https://rocm.docs.amd.com/projects/install-on-windows/en/latest/reference/system-requirements.html https://rocm.docs.amd.com/projects/install-on-windows/en/latest/reference/system-requirements.html Current upstream runtime check: | CUDA-facing component | Result | |---|---| | CUDA driver / nvcuda | ✅ | | cuBLAS | ✅ via rocBLAS | | cuBLASLt | ✅ via hipBLASLt | | cuSPARSE | ✅ via rocSPARSE | | cuFFT | ✅ | | cuDNN | | The stable Windows HIP SDK does not ship the full ROCm AI-library stack such as MIOpen, so convolution-heavy software that requires cuDNN can need a newer/nightly HIP stack or additional work. Dense/GEMM-heavy LibTorch training does not necessarily require cuDNN; the validated PPO workload completed without it. Historical tuned runs of the ZLUDA + LibTorch path were roughly 70k–109k overall steps/s on the reference RX 9060 XT. The fresh reproducibility validation was intentionally a short correctness run, not a tuned benchmark. See docs/BENCHMARKS.md /Speedstu/CUDA-for-AMD-Windows/blob/main/docs/BENCHMARKS.md . The original development environment also experimented with a custom cuBLAS/cuBLASLt/HIP overlay. Those recovered binaries are not required by the current validated public path and are not distributed by this repository. They remain fingerprinted in manifests/recovered-artifacts.sha256 for archival/research purposes. The normal install.ps1 path uses upstream ZLUDA plus the installed AMD HIP SDK only. Please publish an issue. Failed tests are useful too. .\scripts\gpu-scan.ps1 -OutputPath .\gpu-report.json .\scripts\test-runtime.ps1 Then open a GPU compatibility report https://github.com/Speedstu/CUDA-for-AMD-Windows/issues/new?template=gpu-compatibility.yml and include the application, result and first useful error/output. scripts/ install, diagnostics, scanner, staging and launcher manifests/ pinned versions, hashes and GPU architecture metadata docs/ validation, architecture, benchmarks and troubleshooting examples/ integration/reference snippets .runtime/ generated dependencies and reports; ignored by Git local-artifacts/ local archival files; ignored by Git - Only RX 9060 XT / gfx1200 is currently validated by this project. - ZLUDA is not a complete CUDA implementation. - Windows exposes only a subset of the full ROCm ecosystem. - cuDNN/MIOpen is not available in the validated stable HIP SDK path. - NCCL, TensorRT, unsupported PTX behavior and some custom CUDA extensions may fail. - ZLUDA CC=8.6 is a CUDA-facing compatibility value, not the AMD GPU architecture. Project-owned scripts and documentation are MIT licensed. ZLUDA, AMD ROCm/HIP, NVIDIA CUDA components and PyTorch/LibTorch retain their own upstream licenses. See THIRD PARTY NOTICES.md /Speedstu/CUDA-for-AMD-Windows/blob/main/THIRD PARTY NOTICES.md .