akhaliq HF Staff commited on
Commit
40a7ef9
·
verified ·
1 Parent(s): fb25578

v2: stage CUDA runtime libs into bin/ (fix silent CPU fallback)

Browse files
Files changed (1) hide show
  1. build.sh +15 -0
build.sh CHANGED
@@ -40,6 +40,21 @@ if ! cmake -B build "${CMAKE_FLAGS[@]}"; then
40
  -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=120 -DGGML_NATIVE=OFF
41
  fi
42
  cmake --build build -j"$(nproc)" --target llama-server
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  ls -la build/bin
44
 
45
  tar -C build -czf /tmp/llama-ricursive-cuda128-sm120.tar.gz bin
 
40
  -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=120 -DGGML_NATIVE=OFF
41
  fi
42
  cmake --build build -j"$(nproc)" --target llama-server
43
+
44
+ # Stage CUDA runtime libs next to the binaries: the ZeroGPU image has no CUDA toolkit,
45
+ # and libggml-cuda.so silently fails to dlopen without them (CPU fallback).
46
+ echo "=== ldd before staging ==="
47
+ ldd build/bin/llama-server || true
48
+ ldd build/bin/libggml-cuda.so || true
49
+ for lib in $(ldd build/bin/*.so build/bin/llama-server 2>/dev/null | grep -oP '/usr/local/cuda/lib64/\S+' | sort -u); do
50
+ base=$(basename "$lib")
51
+ case "$base" in
52
+ libcuda.so*) echo "skip driver lib $base (provided by the GPU host)";;
53
+ *) cp -L "$lib" build/bin/ && echo "staged $base";;
54
+ esac
55
+ done
56
+ echo "=== ldd after staging (LD_LIBRARY_PATH=build/bin) ==="
57
+ LD_LIBRARY_PATH=build/bin ldd build/bin/libggml-cuda.so | grep -E "not found|cuda" || true
58
  ls -la build/bin
59
 
60
  tar -C build -czf /tmp/llama-ricursive-cuda128-sm120.tar.gz bin