diff options
author | Andrzej Janik <[email protected]> | 2024-12-20 22:13:00 +0100 |
---|---|---|
committer | Andrzej Janik <[email protected]> | 2024-12-20 22:13:00 +0100 |
commit | f533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3 (patch) | |
tree | f6dacb785e9f211a0583b4cb6f710e1ec49cb51f /README.md | |
parent | de870db1f1765665f31a9f94da9b8fbfb7bb5baf (diff) | |
download | ZLUDA-f533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3.tar.gz ZLUDA-f533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3.zip |
Update README
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 54 |
1 files changed, 38 insertions, 16 deletions
@@ -6,16 +6,17 @@ ZLUDA is a drop-in replacement for CUDA on non-NVIDIA GPU. ZLUDA allows to run u ZLUDA is work in progress. Follow development here and say hi on [Discord](https://discord.gg/sg6BNzXuc7). For more details see the announcement: https://vosen.github.io/ZLUDA/blog/zludas-third-life/ - ## Usage -**Warning**: ZLUDA is under heavy development (see news [here](https://vosen.github.io/ZLUDA/blog/zludas-third-life/)). Instructions below might not work. +**Warning**: This version ZLUDA is under heavy development (more [here](https://vosen.github.io/ZLUDA/blog/zludas-third-life/)) and right now only supports Geekbench. ZLUDA probably will not work with your application just yet. ### Windows -You should have the most recent ROCm installed.\ -Run your application like this: -``` -<ZLUDA_DIRECTORY>\zluda_with.exe -- <APPLICATION> <APPLICATIONS_ARGUMENTS> -``` +You should have recent AMD GPU driver ("AMD Software: Adrenalin Edition") installed.\ +To run your application you should etiher: +* (Recommended approach) Copy ZLUDA-provided `nvcuda.dll` and `nvml.dll` into a path which your application uses to load CUDA. Paths vary application to application, but usually it's the directory where the .exe file is located +* Use ZLUDA launcher like below. ZLUDA launcher is known to be buggy and unfinished + ``` + <ZLUDA_DIRECTORY>\zluda_with.exe -- <APPLICATION> <APPLICATIONS_ARGUMENTS> + ``` ### Linux @@ -24,25 +25,35 @@ Run your application like this: LD_LIBRARY_PATH=<ZLUDA_DIRECTORY> <APPLICATION> <APPLICATIONS_ARGUMENTS> ``` +where `<ZLUDA_DIRECTORY>` is the directory which contains ZLUDA-provided `libcuda.so`: `target\release` if you built from sources or `zluda` if you downloaded prebuilt package. + ### MacOS Not supported ## Building -**Warning**: ZLUDA is under heavy development (see news [here](https://vosen.github.io/ZLUDA/blog/zludas-third-life/)). Instructions below might not work. -_Note_: This repo has submodules. Make sure to recurse submodules when cloning this repo, e.g.: `git clone --recursive https://github.com/vosen/ZLUDA.git` +### Dependencies - You should have a relatively recent version of Rust installed, then you just do: +* Git +* CMake +* Python 3 +* Rust compiler (recent version) +* C++ compiler +* (Optional, but recommended) [Ninja build system](https://ninja-build.org/) + +### Build steps + +* Git clone the repo (make sure to use `--recursive` option to fetch submodules): +`git clone --recursive https://github.com/vosen/ZLUDA.git` +* Enter freshly cloned `ZLUDA` directory and build with cargo (this takes a while): +`cargo build --release` -``` -cargo build --release -``` -in the main directory of the project. ### Linux -If you are building on Linux you must also symlink (or rename) the ZLUDA output binaries after ZLUDA build finishes: +If you are building on Linux you must also symlink the ZLUDA output binaries after ZLUDA build finishes: ``` +cd target/release ln -s libnvcuda.so target/release/libcuda.so ln -s libnvcuda.so target/release/libcuda.so.1 ln -s libnvml.so target/release/libnvidia-ml.so @@ -50,7 +61,18 @@ ln -s libnvml.so target/release/libnvidia-ml.so ## Contributing -If you want to develop ZLUDA itself, read [CONTRIBUTING.md](CONTRIBUTING.md), it contains instructions how to set up dependencies and run tests +ZLUDA project has a commercial backing and _does not_ accept donations. +ZLUDA project accepts pull requests and other non-monetary contributions. + +If you want to contribute a code fix or documentation update feel free to open a Pull Request. + +### Getting started + +There's no architecture document (yet). Two most important crates in ZLUDA are `ptx` (PTX compiler) and `zluda` (AMD GPU runtime). A good starting point to tinkering the project is to run one of the `ptx` unit tests under a debugger and understand what it is doing. `cargo test -p ptx -- ::add_hip` is a simple test that adds two numbers. + +Github issues tagged with ["help wanted"](https://github.com/vosen/ZLUDA/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) are tasks that are self-containted. Their level of difficulty varies, they are not always great starting points, but they have a relatively clear definition of "done". + +If you have questions feel free to ask on [#devtalk channel on Discord](https://discord.com/channels/1273316903783497778/1303329281409159270). ## License |