initial instructions for gpu offload
This commit is contained in:
parent
1d8f15e1f7
commit
429d56f56f
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
In the future, `std::offload` should become available in nightly builds for users. For now, everyone still needs to build rustc from source.
|
||||||
|
|
||||||
|
## Build instructions
|
||||||
|
|
||||||
|
First you need to clone and configure the Rust repository:
|
||||||
|
```bash
|
||||||
|
git clone --depth=1 git@github.com:rust-lang/rust.git
|
||||||
|
cd rust
|
||||||
|
./configure --enable-llvm-link-shared --release-channel=nightly --enable-llvm-assertions --enable-offload --enable-clang --enable-lld --enable-option-checking --enable-ninja --disable-docs
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards you can build rustc using:
|
||||||
|
```bash
|
||||||
|
./x.py build --stage 1 library
|
||||||
|
```
|
||||||
|
|
||||||
|
Afterwards rustc toolchain link will allow you to use it through cargo:
|
||||||
|
```
|
||||||
|
rustup toolchain link enzyme build/host/stage1
|
||||||
|
rustup toolchain install nightly # enables -Z unstable-options
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Build instruction for LLVM itself
|
||||||
|
```bash
|
||||||
|
git clone --depth=1 git@github.com:llvm/llvm-project.git
|
||||||
|
cd llvm-project
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -G Ninja ../llvm -DLLVM_TARGETS_TO_BUILD="host,AMDGPU,NVPTX" -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_ENABLE_RUNTIMES="offload,openmp" -DLLVM_ENABLE_PLUGINS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=.
|
||||||
|
ninja
|
||||||
|
ninja install
|
||||||
|
```
|
||||||
|
This gives you a working LLVM build.
|
||||||
Loading…
Reference in New Issue