diff --git a/docs/build.md b/docs/build.md index b410c710e30d3..c9f98396328e1 100644 --- a/docs/build.md +++ b/docs/build.md @@ -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.