aboutsummaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorAndrzej Janik <[email protected]>2024-12-20 22:13:00 +0100
committerAndrzej Janik <[email protected]>2024-12-20 22:13:00 +0100
commitf533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3 (patch)
treef6dacb785e9f211a0583b4cb6f710e1ec49cb51f /README.md
parentde870db1f1765665f31a9f94da9b8fbfb7bb5baf (diff)
downloadZLUDA-f533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3.tar.gz
ZLUDA-f533cfe03ffa5c77884b6ffeb3d96045eb6a5dc3.zip
Update README
Diffstat (limited to 'README.md')
-rw-r--r--README.md54
1 files changed, 38 insertions, 16 deletions
diff --git a/README.md b/README.md
index 73df97f..2b6a815 100644
--- a/README.md
+++ b/README.md
@@ -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