igneum/tools/bench-5060ti
igneum-labs 8c019aa259 RTX 5060 Ti (16 GB, Razer Core X V2 Thunderbolt) on PC 2: detection, G1 bit-exact on class v4 sub-version 1 and the v3 control, the 10-minute stock window, the bench-log entry, the card-picker entry and the public table row
The first 16 GB card and the first Thunderbolt card. The app's first poll listed it (vendor nvidia, 16,311 MiB,
driver 610.47 shared with the 5090, kind discrete: the app does not know it is an eGPU) and started a miner on
it by itself. Job run-5060ti-bench-20261007-b (tools/bench-5060ti/pc2-5060ti-bench.ps1, the card alone under
the runner's --cards-off, the 5090 mining, no power limit written: 180 W default read back unchanged, PC 2 lost
power twice that day): G1 PASS with 867dbc45cfb36b4d (sub-version 1) and 90f794dd556f7a3b equal to the Mac's;
the window 1,105 dispatches of 2^24 in 602 s at 30.882 MH/s, 114.8 W mean at utilisation 90 percent and over,
0.269 MH/W, PCIe 4.0 x4 through the enclosure (the hash is latency-bound, the link costs nothing measurable).
Owed: the efficient point (the app's Ember Tune; PC 2's Power Helper refuses every request since the restart)
and the prove-beside read (the shipped WSL2 host has no IGNEUM_CUDA_DEVICE selector; the floor server is on
PC 2; the prover-floor host is the cut). The kit (tools/bench-5060ti/make-kit.sh) takes the sub-version 1 packs
from ca3-v4-amend 0a62293a, since master's packs-ca3-v4 is the 6 October stream.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 15:05:47 +00:00
..
make-kit.sh RTX 5060 Ti (16 GB, Razer Core X V2 Thunderbolt) on PC 2: detection, G1 bit-exact on class v4 sub-version 1 and the v3 control, the 10-minute stock window, the bench-log entry, the card-picker entry and the public table row 2026-10-07 15:05:47 +00:00
pc2-5060ti-bench.ps1 RTX 5060 Ti (16 GB, Razer Core X V2 Thunderbolt) on PC 2: detection, G1 bit-exact on class v4 sub-version 1 and the v3 control, the 10-minute stock window, the bench-log entry, the card-picker entry and the public table row 2026-10-07 15:05:47 +00:00
README.md RTX 5060 Ti (16 GB, Razer Core X V2 Thunderbolt) on PC 2: detection, G1 bit-exact on class v4 sub-version 1 and the v3 control, the 10-minute stock window, the bench-log entry, the card-picker entry and the public table row 2026-10-07 15:05:47 +00:00

The RTX 5060 Ti in a Razer Core X V2 on PC 2: the jobs (7 October 2026, branch bench-5060ti)

The card: an ASUS Dual GeForce RTX 5060 Ti (16 GB, PnP PCI\VEN_10DE&DEV_2D04&SUBSYS_8A111043) in a Razer Core X V2 Thunderbolt enclosure ("USB4 Router (2.0), Razer - Core X V2") on PC 2 (1ccfe586, DESKTOP-KMCV30N), beside the RTX 5090 on its own supply. PC 2 lost power twice on 7 October, so NOTHING here writes a power limit: the playbook reads power.limit against power.default_limit and says whether they were equal; it carries no nvidia-smi -pl, -lgc or -lmc. Every job is a signed run job through packaging/ota/publish-jobs.sh from the main checkout (its signer binary lives there), published under the PC 2 mkdir lock (/tmp/igneum-devnet/pc2-ca3.lock, a holder note inside, removed when the bench ends), with the RUNNER's --cards-off for the 5060 Ti alone (the 5090 keeps mining), never --stop-miners, never pausing, resuming or quitting the installed app (tools/ci/playbook-quit-check.sh).

1. Detection (the intake, no job needed)

The app's first poll after the restart that followed the 15:10 UK freeze (run win-1ccfe586-20261007-143611, 14:36:16Z): GPUs: NVIDIA GeForce RTX 5090 (CUDA); NVIDIA GeForce RTX 5060 Ti (CUDA); AMD Radeon(TM) Graphics (OpenCL, gfx1036) and cards: NVIDIA GeForce RTX 5090 [discrete, off] | NVIDIA GeForce RTX 5060 Ti [discrete, off] | AMD Radeon(TM) Graphics [integrated, off]; the app then started a miner on it (nvidia-1ccfe586-2, --device 1, 8 identities, the default). The kind reads discrete, not external: the app does not know it is an eGPU. The freeze lane's pc2-freeze-check-20261007 (14:38:22Z): nvidia-smi index 1, driver 610.47 (WDDM 32.0.16.1047, the 5090's driver, nothing to install), 16,311 MiB, bus 0B:00.0, status OK; the freeze was NOT the card (no TDR, no Thunderbolt or PCIe link event; Kernel-Power 41 + 6008, no bugcheck: the power shape again).

2. The kit and the bench

The kit (packs only; the INSTALLED igneum-worker-cuda.exe is the worker under test): the class v4 pack v4-devnet-epoch0 at SUB-VERSION 1 (the stream 0.3.20 ships at object byte 5, program id 1a4230699a6b9c60, fingerprint 867dbc45cfb36b4d) and the v3 control mx8-devnet-epoch0 (90f794dd556f7a3b), both as commit a0aaca92 on ca3-v4-amend exported them (master's proto-cuda/packs-ca3-v4 is the older 6 October stream, f410c731b6bc2d31, not the one to measure against).

tools/bench-5060ti/make-kit.sh "$TMPDIR/igneum-5060ti-packs.zip"      # prints sha256 and bytes; checks the vectors prefix 756301bf
packaging/ota/publish-jobs.sh add --kind fetch --target 1ccfe586 --id fetch-5060ti-packs-20261007 \
    --file "$TMPDIR/igneum-5060ti-packs.zip" --dir jobs --extract --title "RTX 5060 Ti bench packs (class v4 sub-version 1 and the v3 control)" --deploy

Published 14:40:24Z: sha256 fd8393ed37c4f311b4e34b131440f9e606e0557b7006e12d1696686753d3ba71, 105,892 bytes; landed 14:41:11Z, sha256 ok (an app update wipes the jobs folder: republish under a new id after one).

Then the bench, the live network rate and the kit id substituted:

NET=$(curl -s "https://igneum.network/api/live?window=30" | python3 -c "import json,sys;print(round(json.load(sys.stdin)['state']['hashes_per_second_estimate']/1e6,1))")
sed -e "s/__NETWORK_MHS__/$NET/" -e "s/__KIT_ID__/fetch-5060ti-packs-20261007/" tools/bench-5060ti/pc2-5060ti-bench.ps1 > "$TMPDIR/pc2-5060ti-bench.ps1"
packaging/ota/publish-jobs.sh add --kind run --target 1ccfe586 --id run-5060ti-bench-<date> \
    --cards-off "nvidia:NVIDIA GeForce RTX 5060 Ti,nvidia:1:NVIDIA GeForce RTX 5060 Ti" \
    --script "$TMPDIR/pc2-5060ti-bench.ps1" --timeout-minutes 45 --title "RTX 5060 Ti (Razer Core X V2) on PC 2: ..." --deploy

What it prints (node tools/jobs.mjs <job id>): RESULT gpu ... (every card's nvidia-smi row: driver, VRAM, the PCIe gen and width = the Thunderbolt link, power.limit against power.default_limit), RESULT DETECT ..., RESULT app_card ... (read only), RESULT card ... quiet (no compute process on the card's UUID: the runner's --cards-off took), RESULT G1 pack=... fingerprint= match=yes|no for both packs (the worker sees the 5060 Ti alone through CUDA_VISIBLE_DEVICES on its UUID and every row names the device it ran on; a row on another card is void), RESULT sampler stock ... (nvidia-smi every 2 s on the card over the 10-minute window: mean, p50 and max watts at utilisation 90 percent and over, clocks, temperature), RESULT bench v4-stock-window ... (the worker's --bench with enough 2^24 dispatches for 600 s: the MH/s is the mean over them), RESULT tune ... (the app's own TUNE lines for the card, read only: the efficient point is Ember Tune's to find, its ladder only steps DOWN), RESULT PROVE ... (16 GB only: the app's WSL2 host aimed at the 5060 Ti with IGNEUM_CUDA_DEVICE on one live shard while a bench loop hashes on the card, VRAM peak from the sampler; BLOCKED with the reason when the shipped host carries no selector, since aiming the stock host proves on CUDA device 0, the 5090, through the app's own socket), then RESULT ROW ..., RESULT PICKER ['NVIDIA RTX 5060 Ti', <mhs>], RESULT CONSEQUENCES ... and a SUMMARY {json} line.

Run Published Outcome
run-5060ti-bench-20261007 14:42:27Z VOID in 1 s: the nvidia-smi query and its format flag were one argument (inside @( ... ) the comma binds before +), "temperature.gpu --format=csv is not a valid field"; the query string is built first now. Run b's sampler line was swallowed the same way the Intel lane's Bench lines were (a bare string in a function that returns a value goes into the caller's variable); [Console]::Out.WriteLine now
run-5060ti-bench-20261007-b 14:44:19Z ran 14:45:05 to 14:58:11Z, exit 0: the card alone from 0 s, G1 PASS with 867dbc45cfb36b4d and 90f794dd556f7a3b equal to the Mac's (30.879 and 30.895 MH/s at five dispatches), the window 1,105 dispatches in 602 s at 30.882 MH/s and 114.8 W mean (p50 115) at the stock 180 W limit, 0.269 MH/W, SM 2,753 MHz, 60 C; no TUNE line for the card; the prove read BLOCKED (the shipped host has no IGNEUM_CUDA_DEVICE selector; the floor server is on PC 2 at /opt/igneum-floor/bin, WSL device 1); the bench-log entry, the picker entry and the table row