Spaces:
Sleeping
Sleeping
# Helper script to check if GPU support is available at runtime | |
echo "=== GPU Support Check ===" | |
# Check if llama-server binary exists and is linked to CUDA libraries | |
if [ -f "/app/llama.cpp/build/bin/llama-server" ]; then | |
echo "llama-server binary found, checking for CUDA linkage..." | |
CUDA_LIBS=$(ldd /app/llama.cpp/build/bin/llama-server | grep -i "cuda\|nvidia") | |
if [ -n "$CUDA_LIBS" ]; then | |
echo "β llama-server is built with CUDA support:" | |
echo "$CUDA_LIBS" | |
echo "GPU acceleration is available" | |
# Check for GPU optimization marker file (optional, not required) | |
GPU_MARKER_FILE="/app/data/gpu_optimized.json" | |
if [ -f "$GPU_MARKER_FILE" ]; then | |
GPU_OPTIMIZED=$(grep -o '"gpu_optimized": *true' "$GPU_MARKER_FILE" || echo "false") | |
OPTIMIZED_DATE=$(grep -o '"optimized_on": *"[^"]*"' "$GPU_MARKER_FILE" | cut -d'"' -f4) | |
if [[ "$GPU_OPTIMIZED" == *"true"* ]]; then | |
echo "π GPU-optimized build marker found (built on: $OPTIMIZED_DATE)" | |
else | |
echo "π GPU marker file found but not marked as optimized (built on: $OPTIMIZED_DATE)" | |
fi | |
else | |
echo "π No GPU optimization marker file found, but CUDA support is detected in binary" | |
fi | |
# Check if NVIDIA GPU is accessible at runtime | |
if nvidia-smi &>/dev/null; then | |
echo "π NVIDIA GPU is available at runtime" | |
echo "=== GPU ACCELERATION IS READY TO USE ===" | |
exit 0 | |
else | |
echo "β οΈ WARNING: llama-server has CUDA support, but NVIDIA GPU is not accessible" | |
echo "Check that Docker is running with GPU access (--gpus all)" | |
exit 1 | |
fi | |
else | |
echo "β llama-server is not linked with CUDA libraries" | |
echo "Container was built without CUDA support" | |
fi | |
else | |
echo "β llama-server binary not found at /app/llama.cpp/build/bin/llama-server" | |
fi | |
# Final check for GPU hardware | |
if nvidia-smi &>/dev/null; then | |
echo "π NVIDIA GPU is available at runtime, but llama-server doesn't support CUDA" | |
echo "To enable GPU support, rebuild using: make docker-up (and select CUDA support when prompted)" | |
exit 1 | |
else | |
echo "β No NVIDIA GPU detected at runtime" | |
exit 1 | |
fi |