explaingit

vosen/zluda

14,194RustAudience · developerComplexity · 4/5Setup · hard

TLDR

ZLUDA is a drop-in replacement for CUDA that lets programs built for NVIDIA GPUs run on graphics cards from other manufacturers without modifying any code, aiming for near-native performance.

Mindmap

mindmap
  root((zluda))
    What it does
      CUDA drop-in replacement
      Run on non-NVIDIA GPUs
      Near-native performance
    How it works
      Written in Rust
      Sits between app and GPU
      No code changes needed
    Use cases
      ML on AMD GPU
      CUDA app portability
      Hardware flexibility
    Limitations
      Short README
      Docs in external links
    Audience
      ML engineers
      Systems developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a CUDA-based machine learning model on an AMD or Intel GPU without rewriting any code

USE CASE 2

Use CUDA-dependent software on hardware where NVIDIA cards are unavailable or too expensive

USE CASE 3

Test whether your CUDA application runs correctly on non-NVIDIA hardware before wider deployment

Tech stack

Rust

Getting it running

Difficulty · hard Time to first run · 1h+

Supported hardware and setup details are not in the README, follow the linked quick start guide, not all CUDA features are guaranteed to work.

In plain English

ZLUDA is described by its README as a drop-in replacement for CUDA on non-NVIDIA GPUs. To unpack that, CUDA is software made by NVIDIA that lets programs run heavy calculations on NVIDIA graphics cards, which is common in areas like machine learning, scientific computing, and video processing. Normally a program written for CUDA only runs on NVIDIA hardware. The goal of ZLUDA is to remove that restriction. The README states that it allows running unmodified CUDA applications on graphics cards from other makers, and that it aims to do so with near-native performance. Near-native means the speed is meant to be close to what you would get on the NVIDIA hardware the program was originally written for. The phrase 'unmodified' matters here: the idea is that you do not need to rewrite the application, you point it at ZLUDA and it runs on the different GPU. The project is written in Rust, a programming language often chosen for low-level work where performance and reliability are important. That fits the kind of task ZLUDA takes on, since it sits between an application and the graphics hardware. The README itself is very short. It gives the one-line summary above and then links out to a quick start guide, a Discord community, and a news page, without explaining installation, supported hardware, or limitations in the text provided here. Anyone wanting those details would need to follow the linked documentation. So this page tells you clearly what ZLUDA is trying to do, but the practical specifics of how to set it up and which GPUs it covers live outside this README.

Copy-paste prompts

Prompt 1
I have a PyTorch model that uses CUDA. Walk me through how to use ZLUDA so it runs on my AMD GPU without changing any Python code.
Prompt 2
ZLUDA is not detecting my GPU after installation. What are the first troubleshooting steps I should try?
Prompt 3
Compare ZLUDA vs ROCm vs oneAPI for running CUDA workloads on AMD GPU hardware. What are the tradeoffs for my use case?
Prompt 4
Which GPU models and CUDA features does ZLUDA currently support, and where do I find that list in the documentation?
Open on GitHub → Explain another repo

← vosen on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.