"""Unchanged deterministic-v2 five-trial regression; old outputs are read only.""" import os import sys import time import numpy as np import pandas as pd import yaml from context import ROOT,EXP,CFG,save,check_prereg def main(): check_prereg() assert not (EXP/'regression/frozen-five.json').exists() runtime=ROOT/'models/male-cns-lif/runtime-v2-deterministic-candidate' # Discover the exact prior-audit runtime path from its immutable config. prior=yaml.safe_load((ROOT/CFG['prior_model']/'config.yaml').read_text()) runtime=ROOT/prior['runtime'];pc=yaml.safe_load((runtime/'phase4p.yaml').read_text()) sys.path.insert(0,str(ROOT/'models/male-cns-lif/terminal-scope-diagnostic-v1')) from diagnostic import queues queues() os.environ['CUDA_VISIBLE_DEVICES']=pc['device']['visible_gpu_uuid'] os.environ['CUDA_HOME']='/usr/local/cuda';os.environ['MAX_JOBS']='2';os.environ['TORCH_CUDA_ARCH_LIST']='8.9' os.environ['PATH']=str(ROOT/'models/male-cns-lif/.venv/bin')+':/usr/local/cuda/bin:'+os.environ['PATH'] sys.path.insert(0,str(ROOT/'models/male-cns-lif'));sys.path.insert(0,str(runtime)) import torch,phase4p free,total=torch.cuda.mem_get_info();assert free>2*1024**3 torch.cuda.reset_peak_memory_stats();t0=time.perf_counter() rt=phase4p.CanonicalRuntime(pc,runtime,EXP) rows=[] for spec in pc['reference_trials']: queues();base=ROOT/'experiments/phase4p-deterministic-runtime/phase4c-v2/reference'/spec['name'] ev=pd.read_parquet(base/'spike-events.parquet') expected=dict(step=ev.step.to_numpy(),neuron_idx=ev.neuron_idx.to_numpy(), counts=np.load(base/'per-neuron-spike-counts.int32.npy'), v=np.load(base/'final-voltage.float32.npy'),g=np.load(base/'final-g.float32.npy')) r=rt.run(np.flatnonzero(rt.pops[spec['population']]),spec['rate_hz'],spec['seed'],spec['duration_ms']) eq={k:bool(np.array_equal(r[k],v)) for k,v in expected.items()} row=dict(trial=spec['name'],exact=eq,wall_seconds=r['metrics']['wall_seconds']) rows.append(row);save(EXP/'regression'/('frozen-'+spec['name']+'.json'),row) print(row,flush=True) save(EXP/'regression/frozen-five.json',dict(pass_all=all(all(x['exact'].values()) for x in rows),trials=rows, oracle='frozen deterministic-v2, NOT author Brian2',wall_seconds=time.perf_counter()-t0, peak_allocated_vram=int(torch.cuda.max_memory_allocated()),gpu=torch.cuda.get_device_name(),comfyui_modified=False)) assert all(all(x['exact'].values()) for x in rows) if __name__=='__main__':main()