Files
rfcp/installer/build-gpu.sh

85 lines
2.2 KiB
Bash

#!/bin/bash
set -e
echo "========================================"
echo " RFCP GPU Build — ONEDIR mode"
echo " CuPy-cuda13x + CUDA Toolkit 13.x"
echo "========================================"
echo ""
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
BACKEND_DIR="$SCRIPT_DIR/../backend"
# Check backend exists
if [ ! -f "$BACKEND_DIR/run_server.py" ]; then
echo "ERROR: Backend not found at $BACKEND_DIR"
exit 1
fi
# Check Python
echo "[1/5] Checking Python..."
python3 --version || { echo "ERROR: Python3 not found"; exit 1; }
# Check CuPy
echo ""
echo "[2/5] Checking CuPy installation..."
if ! python3 -c "import cupy; print(f' CuPy {cupy.__version__}')" 2>/dev/null; then
echo "ERROR: CuPy not installed"
echo ""
echo "Install CuPy:"
echo " pip3 install cupy-cuda13x"
echo " # or for WSL2:"
echo " pip3 install cupy-cuda13x --break-system-packages"
exit 1
fi
# Check GPU compute
echo ""
echo "[3/5] Testing GPU compute..."
if python3 -c "import cupy; a = cupy.array([1,2,3]); assert a.sum() == 6; print(' GPU compute: OK')" 2>/dev/null; then
:
else
echo "WARNING: GPU compute test failed (may still work)"
fi
# Check CUDA
echo ""
echo "[4/5] Checking CUDA..."
if [ -n "$CUDA_PATH" ]; then
echo " CUDA_PATH: $CUDA_PATH"
else
echo " CUDA_PATH not set (relying on nvidia pip packages)"
fi
# Check nvidia pip packages
echo ""
echo "[5/5] Checking nvidia pip packages..."
python3 -c "import nvidia; print(' nvidia packages found')" 2>/dev/null || echo " No nvidia pip packages"
# Build
echo ""
echo "Building rfcp-server (ONEDIR mode)..."
echo ""
cd "$BACKEND_DIR"
pyinstaller "$SCRIPT_DIR/rfcp-server-gpu.spec" --clean --noconfirm
echo ""
echo "========================================"
if [ -f "dist/rfcp-server/rfcp-server" ] || [ -f "dist/rfcp-server/rfcp-server.exe" ]; then
echo " BUILD COMPLETE! (ONEDIR mode)"
echo ""
echo " Output: backend/dist/rfcp-server/"
ls -lh dist/rfcp-server/ | head -20
echo ""
echo " Test:"
echo " cd dist/rfcp-server"
echo " ./rfcp-server"
echo " curl http://localhost:8090/api/health"
echo "========================================"
else
echo " BUILD FAILED — check errors above"
echo "========================================"
exit 1
fi