You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f2707eb
Browse filesBrowse the repository at this point in the historyBrowse files
var_backend now covers all Linux builds llama.cpp publishes, each with the
runtime its release workflow builds against:
- cuda: CUDA 12 or 13 build chosen from the host driver (<580 -> 12), plus
the matching cudart tarball deployed into /opt/llama-cpp
- rocm: ubuntu-rocm-<ver>-x64 with the same ROCm release of AMD's TheRock
wheels (rocm[libraries]) in a uv venv, added to LD_LIBRARY_PATH; updates
follow upstream when the build moves to a newer ROCm
- sycl-fp16 / sycl-fp32: oneAPI runtime libraries from Intel's apt repo,
registered with ld.so; Level Zero loader from oneapi-src/level-zero and
libze-intel-gpu1 from intel/compute-runtime
- openvino: libtbb12, OpenCL ICD loader and Level Zero; GGML_OPENVINO_DEVICE
is set to GPU when a render node is present
auto stays the default (Vulkan with a GPU, otherwise CPU). The rocm->vulkan
remap and the "no Linux ROCm/CUDA build" comments are gone, since upstream
now ships both. Release lookups use the b tag prefix, the only tags carrying
binaries, and updates keep the recorded backend. The install-time variables
are now exported from the CT script so app_vars actually reach the container.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# The ROCm build links against the ROCm release it was built with, so
88
+
# follow it when upstream moves to a newer one.
89
+
ROCM_VERSION="$(jq -r 'if type == "array" then .[0] else . end | .assets[].name'"$TOOLS_GH_REL_JSON"2>/dev/null | grep -oP 'bin-ubuntu-rocm-\K[0-9.]+(?=-x64)'| head -1)"
90
+
if [[ -n"$ROCM_VERSION"&&"$ROCM_VERSION"!="$(cat /opt/llama-cpp_data/rocm/.version 2>/dev/null)" ]];then
91
+
msg_info "Updating ROCm Runtime to ${ROCM_VERSION}"
# The ROCm build carries no ROCm libraries. release.yml builds it against AMD's
142
+
# TheRock wheels, so install the same ROCm release of those as the runtime.
143
+
if [[ "$var_backend"=="rocm" ]];then
144
+
ROCM_VERSION="$(jq -r --arg t "$LLAMA_RELEASE"'if type == "array" then .[] else . end | select(.tag_name == $t) | .assets[].name'"$TOOLS_GH_REL_JSON"2>/dev/null | grep -oP 'bin-ubuntu-rocm-\K[0-9.]+(?=-x64)'| head -1)"
145
+
if [[ -z"$ROCM_VERSION" ]];then
146
+
msg_error "Could not read the ROCm release the llama.cpp ${LLAMA_RELEASE} build targets"
Copy file name to clipboardExpand all lines: json/llama-cpp.json
+8-3Lines changed: 8 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -43,10 +43,15 @@
43
43
"options": [
44
44
"auto",
45
45
"cpu",
46
-
"vulkan"
46
+
"vulkan",
47
+
"cuda",
48
+
"rocm",
49
+
"sycl-fp16",
50
+
"sycl-fp32",
51
+
"openvino"
47
52
],
48
53
"default": "auto",
49
-
"help": "auto takes vulkan for any passed-through GPU (AMD via RADV, NVIDIA and Intel too), cpu otherwise. Upstream ships no Linux ROCm or CUDA build."
54
+
"help": "auto takes vulkan for any passed-through GPU, cpu otherwise. cuda picks the CUDA 12 or 13 build from the host driver; rocm, sycl-fp16/fp32 and openvino are x64 only."
50
55
},
51
56
{
52
57
"name": "var_model_repo",
@@ -100,7 +105,7 @@
100
105
"type": "warning"
101
106
},
102
107
{
103
-
"text": "The build variant is chosen at install time: cpu or vulkan, or auto to follow the passed-through GPU. Upstream publishes no Linux CUDA or ROCm build, so every GPU is served by the vulkan build - AMD through RADV, NVIDIA through the driver's Vulkan ICD, which has to be present in the container. The choice is remembered in /opt/llama-cpp_data/.backend so updates keep it.",
108
+
"text": "The build variant is chosen at install time: cpu, vulkan (any GPU vendor), cuda (NVIDIA; CUDA 13 with a 580+ host driver, CUDA 12 otherwise), rocm (AMD, with the matching ROCm runtime from AMD's TheRock wheels), sycl-fp16/sycl-fp32 (Intel GPU, with the oneAPI runtime and Level Zero) or openvino (Intel CPU/GPU), or auto to take vulkan when a GPU is passed through. The choice is remembered in /opt/llama-cpp_data/.backend so updates keep it.",
0 commit comments