From ad105f69719a31dcfa397e43f85c86bca9007c19 Mon Sep 17 00:00:00 2001 From: Andrzej Janik Date: Thu, 14 Aug 2025 18:15:55 +0000 Subject: [PATCH] Start working on docs --- .readthedocs.yaml | 11 +++++++ README.md | 72 ++----------------------------------------- docs/.gitignore | 1 + docs/book.toml | 5 +++ docs/src/SUMMARY.md | 3 ++ docs/src/chapter_1.md | 1 + 6 files changed, 23 insertions(+), 70 deletions(-) create mode 100644 .readthedocs.yaml create mode 100644 docs/.gitignore create mode 100644 docs/book.toml create mode 100644 docs/src/SUMMARY.md create mode 100644 docs/src/chapter_1.md diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..99fd778 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,11 @@ +version: 2 +build: + os: ubuntu-lts-latest + tools: + rust: latest + jobs: + install: + - cargo install mdbook + build: + html: + - mdbook build docs --dest-dir $READTHEDOCS_OUTPUT/html diff --git a/README.md b/README.md index 659108c..fc7855c 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,6 @@ [![Discord](https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/sg6BNzXuc7) -# ZLUDA - ZLUDA is a drop-in replacement for CUDA on non-NVIDIA GPUs. ZLUDA allows running unmodified CUDA applications using non-NVIDIA GPUs with near-native performance. -ZLUDA supports AMD Radeon RX 5000 series and newer GPUs (both desktop and integrated). - -![GeekBench 5.5.1 chart](geekbench.svg) - -ZLUDA is a 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**: 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 a recent AMD GPU driver ("AMD Software: Adrenalin Edition") installed.\ -To run your application, you should either: -* (Recommended approach) Copy ZLUDA-provided `nvcuda.dll` and `nvml.dll` from `target\release` (if built from sources) or `zluda` (if downloaded a zip package) 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 incomplete: - ``` - \zluda_with.exe -- - ``` - -### Linux - -Run your application like this: -``` -LD_LIBRARY_PATH= -``` - -where `` is the directory which contains ZLUDA-provided `libcuda.so`: `target/release` if you built from sources or `zluda` if you downloaded a prebuilt package. - -### MacOS - -Not supported - -## Building - -### Dependencies - -* 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 xtask --release` - -## Contributing - -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). The two most important crates in ZLUDA are `ptx` (PTX compiler) and `zluda` (AMD GPU runtime). A good starting point to tinkering with 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_amdgpu` 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-contained. Their level of difficulty varies, and they are not always good beginner tasks, but they are defined unambiguously. - -If you have questions, feel free to ask on [#devtalk channel on Discord](https://discord.com/channels/1273316903783497778/1303329281409159270). - - -## License - -This software is dual-licensed under either the Apache 2.0 license or the MIT license. See [LICENSE-APACHE](LICENSE-APACHE) or [LICENSE-MIT](LICENSE-MIT) for details +
DOCS
+
NEWS
diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..7585238 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1 @@ +book diff --git a/docs/book.toml b/docs/book.toml new file mode 100644 index 0000000..195dd5e --- /dev/null +++ b/docs/book.toml @@ -0,0 +1,5 @@ +[book] +authors = ["Andrzej Janik"] +language = "en" +src = "src" +title = "ZLUDA" diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md new file mode 100644 index 0000000..7390c82 --- /dev/null +++ b/docs/src/SUMMARY.md @@ -0,0 +1,3 @@ +# Summary + +- [Chapter 1](./chapter_1.md) diff --git a/docs/src/chapter_1.md b/docs/src/chapter_1.md new file mode 100644 index 0000000..b743fda --- /dev/null +++ b/docs/src/chapter_1.md @@ -0,0 +1 @@ +# Chapter 1