| #!/usr/bin/env bash |
| |
| |
| |
| set -euo pipefail |
|
|
| echo "=== Installing deps ===" |
| apt-get update -qq && apt-get install -y -qq zstd git > /dev/null 2>&1 |
| pip install --break-system-packages -q pyarrow huggingface-hub 2>&1 | tail -1 |
|
|
| echo "=== Installing Lc0 ===" |
| |
| cd /tmp |
| curl -sL https://github.com/LeelaChessZero/lc0/releases/download/v0.31.2/lc0-v0.31.2-linux-gpu-nvidia-cuda12-2.tar.gz -o lc0.tar.gz |
| tar xzf lc0.tar.gz |
| cp lc0-v0.31.2-linux-gpu-nvidia-cuda12-2/lc0 /usr/local/bin/lc0 |
| chmod +x /usr/local/bin/lc0 |
| rm -rf lc0.tar.gz lc0-v0.31.2-linux-gpu-nvidia-cuda12-2/ |
|
|
| echo "=== Downloading Lc0 weights ===" |
| |
| mkdir -p /usr/local/share/lc0 |
| cd /usr/local/share/lc0 |
| curl -sL https://storage.lczero.org/files/networks-contrib/t2-768x15x24h-swa-7464000.pb.gz -o weights.pb.gz |
| gunzip weights.pb.gz |
| echo "Weights: $(ls -lh weights.pb)" |
|
|
| echo "=== Cloning repo ===" |
| cd /dev/shm |
| git clone --depth 1 https://github.com/thomas-schweich/PAWN.git pawn |
|
|
| echo "=== Persisting HF token ===" |
| if [ -n "${HF_TOKEN:-}" ]; then |
| mkdir -p /root/.cache/huggingface |
| echo -n "$HF_TOKEN" > /root/.cache/huggingface/token |
| echo "HF token saved" |
| else |
| echo "WARNING: HF_TOKEN not set — upload will fail" |
| fi |
|
|
| echo "=== Creating Lc0 wrapper ===" |
| |
| cat > /usr/local/bin/lc0-wrap << 'WRAPPER' |
| |
| exec /usr/local/bin/lc0 --weights=/usr/local/share/lc0/weights.pb "$@" |
| WRAPPER |
| chmod +x /usr/local/bin/lc0-wrap |
|
|
| echo "=== Verifying Lc0 ===" |
| echo -e "uci\nquit" | lc0-wrap 2>/dev/null | head -2 |
|
|
| echo "" |
| echo "=== Ready ===" |
| echo "Generate with:" |
| echo " cd /dev/shm/pawn" |
| echo " mkdir -p /dev/shm/lc0" |
| echo " nohup python3 scripts/generate_stockfish_data.py \\" |
| echo " --stockfish /usr/local/bin/lc0-wrap \\" |
| echo " --output /dev/shm/lc0 \\" |
| echo " --tier nodes_0001 \\" |
| echo " --workers 1 \\" |
| echo " --games 1000000 \\" |
| echo " > /dev/shm/lc0_gen.log 2>&1 &" |
|
|