#!/usr/bin/env bash # GPU 검증 — RTX 5050 이 달린 .9(리눅스)에서 돌린다. # # GPU 는 한 VM 만 독점하므로 Windows CI VM 에는 GPU 가 없다. 그래서 CUDA # 인식·VRAM 상한·티어 게이트·실제 GPU 번역은 GPU 가 실제로 있는 여기서 # 확인한다. Windows 전용 경로(오디오·단축키·exe)는 Windows 러너가 맡는다. # # scripts/gpu-check.sh # # 종료코드 0 이면 전부 통과. 항목 하나라도 실패하면 1. set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" VENV="${GPU_VENV:-/home/claude/gpu-venv}" if [[ ! -x "$VENV/bin/python" ]]; then echo "GPU 용 파이썬이 없습니다: $VENV/bin/python" >&2 echo "GPU_VENV 로 경로를 지정하거나 torch(CUDA 빌드)가 깔린 venv 를 만드세요." >&2 exit 1 fi # CTranslate2 가 libcublas.so.12 를 직접 찾는다. torch 가 딸려온 nvidia # 패키지 안에 있으므로 경로를 잡아준다. 없으면 # "Library libcublas.so.12 is not found" 로 GPU 번역만 조용히 실패한다. NV="$("$VENV/bin/python" -c 'import nvidia,os;print(os.path.dirname(nvidia.__file__))' 2>/dev/null || true)" if [[ -n "$NV" ]]; then for lib in cublas cudnn; do [[ -d "$NV/$lib/lib" ]] && export LD_LIBRARY_PATH="$NV/$lib/lib:${LD_LIBRARY_PATH:-}" done fi cd "$ROOT" export PYTHONPATH="src" exec "$VENV/bin/python" packaging/windows_smoke.py --gpu