diff --git a/.gitignore b/.gitignore index 902b7e7..255061a 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ go.work.sum # Project-specific bin/ *.templ.go + +# python venv (autoresearch loop) +.venv/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..6d2b8ef --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +# Python deps for the autoresearch loop (train.py + scripts). The Go side +# (data pipeline, eval harness) is separate. Install torch from the cu130 index: +# pip install torch --index-url https://download.pytorch.org/whl/cu130 +# pip install -r requirements.txt +# koala = Blackwell sm_120, driver R610; torch 2.12.1+cu130 verified 2026-06-23. +numpy>=2.0 diff --git a/scripts/check_gpu.py b/scripts/check_gpu.py new file mode 100644 index 0000000..bd3202c --- /dev/null +++ b/scripts/check_gpu.py @@ -0,0 +1,21 @@ +"""Phase-0 compute gate (brain wiki/jepa-fx/facts/autoresearch-integration-phase1): +PyTorch cu130 must see the koala Blackwell GPU and compute before any experiment. + + python scripts/check_gpu.py # exits 0 if the GPU is usable, 1 otherwise + +Note: koala shares this 12GB card with the llama-swap LLM stack. The autoresearch +agent should run on iguana/berget models so koala's GPU stays free for train.py. +""" +import sys +import torch + +print("torch", torch.__version__) +if not torch.cuda.is_available(): + print("CUDA NOT AVAILABLE — gate BLOCKED") + sys.exit(1) +print("device:", torch.cuda.get_device_name(0)) +print("capability: sm_%d%d" % torch.cuda.get_device_capability(0)) +x = torch.randn(2000, 2000, device="cuda") +(x @ x).sum().item() +torch.cuda.synchronize() +print("GPU matmul OK — Phase-0 compute gate GREEN")