# GURU-BEAST-ROG Benchmark Setup RTX 4090 performance comparison against DESKTOP-0O8A1RL (RTX 5070 Ti baseline: **149.5x realtime**). --- ## Step 1 — Sync repo The audio-processor lives inside the claudetools repo. Pull latest on main. ```powershell cd D:\claudetools # or wherever claudetools is cloned on this machine git pull ``` If not yet cloned: ```powershell git clone https://azcomputerguru@git.azcomputerguru.com/azcomputerguru/claudetools.git D:\claudetools cd D:\claudetools\projects\radio-show\audio-processor ``` --- ## Step 2 — Python environment Requires Python 3.11+. Use `py` launcher on Windows. ffmpeg/ffprobe must be on PATH — the voice profiler shells out for audio duration. Without it the pipeline crashes on the first diarize call. ```powershell # Install ffmpeg if not already present winget install --id=Gyan.FFmpeg -e --accept-source-agreements --accept-package-agreements # Open a new shell so the new PATH takes effect, then verify ffprobe -version ``` ```powershell cd D:\claudetools\projects\radio-show\audio-processor py -m venv .venv .venv\Scripts\activate # PyTorch with CUDA 12.8 (matches RTX 4090 driver) pip install torch==2.11.0+cu128 --index-url https://download.pytorch.org/whl/cu128 # Core deps pip install faster-whisper==1.2.1 transformers==5.6.2 soundfile==0.13.1 pip install numpy==2.4.4 rich==15.0.0 ollama==0.6.1 pyyaml scikit-learn # Install project in editable mode pip install -e . --no-deps ``` Verify GPU is visible: ```powershell .venv\Scripts\python -c "import torch; print(torch.cuda.get_device_name(0))" ``` --- ## Step 3 — Copy voice profiles from DESKTOP-0O8A1RL Voice profiles are not in git (binary numpy files). Copy from the 5070 Ti machine via Tailscale. DESKTOP-0O8A1RL Tailscale IP: **100.92.127.64** ```powershell # From GURU-BEAST-ROG — pulls the voice-profiles directory over Tailscale robocopy "\\100.92.127.64\claudetools\projects\radio-show\audio-processor\voice-profiles" ` "D:\claudetools\projects\radio-show\audio-processor\voice-profiles" /E /COPYALL ``` If the network share isn't available, copy manually or use scp: ```powershell scp -r mike@100.92.127.64:"D:/claudetools/projects/radio-show/audio-processor/voice-profiles" . ``` Expected contents after copy: ``` voice-profiles/ profiles.json mike-swanson/ composite.npy embedding_0000.npy ... embedding_0179.npy (180 files) ``` --- ## Step 4 — Download test episodes from IX server Tailscale must be running. IX server: **172.16.3.10** (use Python paramiko — raw SSH has key agent interference). ```powershell .venv\Scripts\python - << 'EOF' import paramiko, os client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect('172.16.3.10', username='root', password='Gptf*77ttb!@#!@#', look_for_keys=False, allow_agent=False, timeout=30) sftp = client.open_sftp() os.makedirs('test-data/episodes', exist_ok=True) downloads = [ ('/home/gurushow/public_html/archive/2011/3-12-11 HR 1.mp3', 'test-data/episodes/2011-03-12-hr1.mp3'), ('/home/gurushow/public_html/archive/2012/3 - March/3-10-12HR1.mp3','test-data/episodes/2012-03-10-hr1.mp3'), ('/home/gurushow/public_html/archive/2012/6 - June/6-9-12-HR1.mp3', 'test-data/episodes/2012-06-09-hr1.mp3'), ('/home/gurushow/public_html/archive/2014/06/s6e19.mp3', 'test-data/episodes/2014-s6e19.mp3'), ('/home/gurushow/public_html/archive/2016/06/s8e43.mp3', 'test-data/episodes/2016-s8e43.mp3'), ('/home/gurushow/public_html/archive/2017/04/s9e30.mp3', 'test-data/episodes/2017-s9e30.mp3'), ] for remote, local in downloads: size_mb = sftp.stat(remote).st_size / 1024 / 1024 print(f'Downloading {local} ({size_mb:.1f} MB)...', flush=True) sftp.get(remote, local) print(' done', flush=True) sftp.close() client.close() print('All downloads complete.') EOF ``` --- ## Step 5 — Run benchmark ```powershell .venv\Scripts\python benchmark.py ``` This diarizes all 6 test episodes, prints per-episode timing, and compares to the 5070 Ti baseline. --- ## Step 6 — Report results Post the benchmark output in the session log or share back to DESKTOP-0O8A1RL. The key number to compare: **total realtime factor** (5070 Ti got 149.5x). Also note any Q&A pair count differences — same episodes should produce same pairs on both machines (results are deterministic given the same voice profiles).