Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion docs/build.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,30 @@ You can download it from your Linux distro's package manager or from here: [ROCm
cmake -S . -B build -G Ninja -DGPU_TARGETS=gfx1100 -DGGML_HIP=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
TheRock (The HIP Environment and ROCm Kit) has been released on https://github.com/ROCm/TheRock/, which is a lightweight open source build platform for HIP and ROCm.
Below is step for building llama.cpp for HIP backend for Windows.

Download from https://github.com/ROCm/TheRock/releases and uncompress it to %HIP_PATH%.

Also Set RC COMPILER with https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ installation, like C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64/rc.exe

Assuming a gfx1151-compatible AMD GPU from https://github.com/ROCm/TheRock/blob/main/RELEASES.md

```bash
set HIP_PATH_70=%HIP_PATH%
set LLVM_PATH=%HIP_PATH%
set HIP_PLATFORM=amd
set CMAKE_C_COMPILER=%HIP_PATH%\lib\llvm\bin\amdclang.exe
set CMAKE_CXX_COMPILER=%HIP_PATH%\lib\llvm\bin\amdclang++.exe
set CMAKE_RC_COMPILER="C:/Program Files (x86)/Windows Kits/10/bin/10.0.26100.0/x64/rc.exe"
set PATH=%HIP_PATH%\bin;%PATH%
cmake -S . -B build -G Ninja -DGPU_TARGETS=gfx1151 -DGGML_HIP=ON -DCMAKE_C_COMPILER=%CMAKE_C_COMPILER% -DCMAKE_CXX_COMPILER=%CMAKE_CXX_COMPILER% -DCMAKE_BUILD_TYPE=Release -DCMAKE_RC_COMPILER=%CMAKE_RC_COMPILER%
cmake --build build
```

If necessary, adapt `GPU_TARGETS` to the GPU arch you want to compile for. The above example uses `gfx1100` that corresponds to Radeon RX 7900XTX/XT/GRE. You can find a list of targets [here](https://llvm.org/docs/AMDGPUUsage.html#processors)
Find your gpu version string by matching the most significant version information from `rocminfo | grep gfx | head -1 | awk '{print $2}'` with the list of processors, e.g. `gfx1035` maps to `gfx1030`.


The environment variable [`HIP_VISIBLE_DEVICES`](https://rocm.docs.amd.com/en/latest/understand/gpu_isolation.html#hip-visible-devices) can be used to specify which GPU(s) will be used.
If your GPU is not officially supported you can use the environment variable [`HSA_OVERRIDE_GFX_VERSION`] set to a similar GPU, for example 10.3.0 on RDNA2 (e.g. gfx1030, gfx1031, or gfx1035) or 11.0.0 on RDNA3.

Expand Down