Site: the GPU bench table carries every measured card (5090 stock and tuned, 4070, 9070 XT, M5 Max, 5060 Ti, Arc B580, H100 SXM) with watts, MH per watt, the class v4 cost per card and the tuned state; the fleet's 3070, 3080, 4090 and 5080 rows follow

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-07 17:57:47 +00:00
parent fb7fbc9c27
commit 9282712ffc
3 changed files with 149 additions and 15 deletions

View file

@ -416,10 +416,11 @@ for (const [file, active] of PAGES) {
const bj = JSON.parse(readFileSync(join(here, 'miner-bench.json'), 'utf8'));
const rows = bj.rows.slice().sort((a, b) => (a.card < b.card ? -1 : a.card > b.card ? 1 : a.generator < b.generator ? -1 : a.generator > b.generator ? 1 : b.mh_s - a.mh_s));
const fmt = (n) => Number(n).toLocaleString('en-GB', { maximumFractionDigits: 1 });
const fmt3 = (n) => Number(n).toLocaleString('en-GB', { maximumFractionDigits: 3 });
const cell = (r) => [
r.card, r.generator, fmt(r.mh_s), r.mh_per_w == null ? 'not measured' : fmt(r.mh_per_w), r.miner, r.date, r.source, r.by + (r.note ? '. ' + r.note : ''),
r.card, r.generator, fmt(r.mh_s), r.watts == null ? 'not read' : fmt(r.watts), r.mh_per_w == null ? 'not measured' : fmt3(r.mh_per_w), r.v4_cost || 'not measured', r.tuned || 'stock, mining', r.miner + (r.driver_os ? ' (' + r.driver_os + ')' : ''), r.date, r.source, r.by + (r.note ? '. ' + r.note : ''),
];
const table = '<div class="tbl"><table><thead><tr>' + ['Card', 'Generator', 'Best MH/s', 'MH per watt', 'Miner', 'Date', 'Source', 'Who measured it'].map(h => `<th>${h}</th>`).join('') + '</tr></thead><tbody>' +
const table = '<div class="tbl"><table><thead><tr>' + ['Card', 'Generator', 'Best MH/s', 'Watts', 'MH per watt', 'Class v4 cost', 'Tuned', 'Miner', 'Date', 'Source', 'Who measured it'].map(h => `<th>${h}</th>`).join('') + '</tr></thead><tbody>' +
rows.map(r => '<tr>' + cell(r).map(c => `<td>${esc(String(c))}</td>`).join('') + '</tr>').join('') + '</tbody></table></div>';
// Ember Tune's fleet priors (site/miner-priors.json, tools/tuning.mjs --priors --site): one row per card model,
// driver major and program class; a row under the sample floor shows its count and no point
@ -442,7 +443,7 @@ for (const [file, active] of PAGES) {
table,
'<h2 id="how">How a row gets here</h2>',
'<p>Every row names the engineering log entry or the job it came from. "Measured by the team" means our own hardware and our own log. "Reported by the fleet" means a machine we do not own, read from the status lines its miner uploads.</p>',
'<p>MH per watt needs the card\'s power draw during the run. The app reads it on NVIDIA cards through the driver. Rows get the figure when a run records it.</p>',
'<p>MH per watt needs the card\'s power draw during the run. The app reads it on NVIDIA cards through the driver. Rows get the figure when a run records it. The class v4 cost column is what the latency-shadow work costs that card against the class v3 control, in watts and rate, where it was measured. The tuned column is the card\'s state at the row: a full Ember Tune names its point; stock means the card as it came, bench only or mining.</p>',
'<p>There is no other Igneum miner to compare with yet, so this table compares cards, not miners. The app that produces these rows: <a href="/miner">the miner page</a>.</p>',
`<p>Rows: ${rows.length}. Each row names the engineering log entry it came from.</p>`,
'<h2 id="priors">Fleet tuning priors</h2>',

View file

@ -1,5 +1,5 @@
{
"_about": "Rows of the public bench table at /miners (site/build.mjs). One row per card, generator version and miner version: the best measured rate. Later jobs append rows. Fields: card, generator (v1 | v2), mh_s (best measured MH/s), mh_per_w (MH per watt, null when the power was not measured), miner (the miner or package version), date (YYYY-MM-DD), source (the docs/bench-log.md heading, or the job id), by ('measured by the team' | 'reported by the fleet'), note (short, optional). No machine names, no addresses, no owner names: the build scrubs the page and fails on any that survive.",
"_about": "Rows of the public bench table at /miners (site/build.mjs). One row per card, generator version and miner version: the best measured rate. Later jobs append rows. Fields: card, generator (v1 | v2), mh_s (best measured MH/s), mh_per_w (MH per watt, null when the power was not measured), miner (the miner or package version), date (YYYY-MM-DD), source (the docs/bench-log.md heading, or the job id), by ('measured by the team' | 'reported by the fleet'), note (short, optional), watts (board power at the rate, null when not read), v4_cost (what the class v4 shadow costs this card against the class v3 control: watts and rate, measured; 'not measured' when not), tuned (the card's tune state at the row: 'full Ember Tune: <point>' | 'clock lock <MHz>, cap <W>' | 'stock, bench only' | 'stock, mining'), driver_os (driver and OS where known). No machine names, no addresses, no owner names: the build scrubs the page and fails on any that survive.",
"rows": [
{
"card": "NVIDIA RTX 5090 (32 GB)",
@ -10,7 +10,11 @@
"date": "2026-10-03",
"source": "bench log: 3 October 2026, RTX 5090, memory-hard dataset (pack igneum-genesis-mh)",
"by": "measured by the team",
"note": "genesis program, 104 loads per hash, 1 GiB dataset"
"note": "genesis program, 104 loads per hash, 1 GiB dataset",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, bench only"
},
{
"card": "NVIDIA RTX 5090 (32 GB)",
@ -21,7 +25,11 @@
"date": "2026-10-03",
"source": "bench log: 3 October 2026, RTX 5090 first run, dataset sweep and second program",
"by": "measured by the team",
"note": "hourly program, 128 loads per hash, 1 GiB dataset"
"note": "hourly program, 128 loads per hash, 1 GiB dataset",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, bench only"
},
{
"card": "NVIDIA RTX 5090 (32 GB)",
@ -32,7 +40,11 @@
"date": "2026-10-04",
"source": "bench log: 4 October 2026, the gfx1036 worker fault and what the Mac could and could not reproduce",
"by": "measured by the team",
"note": "live devnet v4, 128 loads per hash, CPU re-check clean, 0 rejected"
"note": "live devnet v4, 128 loads per hash, CPU re-check clean, 0 rejected",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, mining"
},
{
"card": "Apple M5 Max (40 GPU cores, Metal)",
@ -43,7 +55,11 @@
"date": "2026-10-03",
"source": "bench log: 3 October 2026, RTX 5090 first run (the Apple row of the same table)",
"by": "measured by the team",
"note": "genesis program, 1 GiB dataset"
"note": "genesis program, 1 GiB dataset",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, bench only"
},
{
"card": "Apple M5 Max (40 GPU cores, Metal)",
@ -54,7 +70,11 @@
"date": "2026-10-04",
"source": "bench log: 4 October 2026, first hourly program swap on the live devnet: compile-ahead, no pause, two cards",
"by": "measured by the team",
"note": "live devnet v4, unbroken through the hour boundary"
"note": "live devnet v4, unbroken through the hour boundary",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, mining"
},
{
"card": "Apple silicon laptop (model not reported)",
@ -65,7 +85,11 @@
"date": "2026-10-04",
"source": "bench log: 4 October 2026, first outside machine on the devnet: an Apple silicon laptop through the Igneum Miner app",
"by": "reported by the fleet",
"note": "21.0 MH/s average over 7 minutes, 24.3 MH/s at the moment of the report, 33 accepted blocks"
"note": "21.0 MH/s average over 7 minutes, 24.3 MH/s at the moment of the report, 33 accepted blocks",
"watts": null,
"v4_cost": "not measured",
"driver_os": "",
"tuned": "stock, mining"
},
{
"card": "NVIDIA RTX 5060 Ti (16 GB)",
@ -76,7 +100,116 @@
"date": "2026-10-07",
"source": "bench log: 7 October 2026, the first 16 GB card: an RTX 5060 Ti in a Thunderbolt enclosure (run b)",
"by": "measured by the team",
"note": "class v4 program, 128 loads per hash, 1 GiB dataset, 10-minute window on the card alone at the stock 180 W limit: 114.8 W mean; PCIe 4.0 x4 through the enclosure"
"note": "class v4 program, 128 loads per hash, 1 GiB dataset, 10-minute window on the card alone at the stock 180 W limit: 114.8 W mean; PCIe 4.0 x4 through the enclosure",
"watts": 114.8,
"v4_cost": "0.1 percent of rate, measured 7 October 2026",
"driver_os": "NVIDIA driver, Windows 11",
"tuned": "stock, bench only (180 W default cap, never tuned)"
},
{
"card": "NVIDIA RTX 5090 (32 GB)",
"generator": "v2",
"mh_s": 136.1,
"watts": 350,
"mh_per_w": 0.389,
"miner": "igneum-worker-cuda bench, class v3 program (mx8-devnet-epoch0)",
"date": "2026-10-06",
"source": "bench log: 6 October 2026, Counter ASIC 3.0 item 8, the 5090 rows (the control row)",
"by": "measured by the team",
"note": "the control; 290 W in the app on the same card",
"v4_cost": "about +80 W for 0.2 percent of rate at the unlocked 2,850 MHz core, measured 6 October 2026; the efficiency pass (clock and voltage under class v4) runs 7 October",
"tuned": "stock, bench only (unlocked core)",
"driver_os": "NVIDIA driver, Windows 11"
},
{
"card": "NVIDIA RTX 5090 (32 GB)",
"generator": "v2",
"mh_s": 127.71,
"watts": 226.8,
"mh_per_w": 0.563,
"miner": "Igneum Miner 0.3.13 + Ember Tune kit 6 (mining, class v3 program)",
"date": "2026-10-06",
"source": "bench log: 6 October 2026, 16:01Z, Ember run 6 (ember-tune-pc1-6)",
"by": "measured by the team",
"note": "against 127.9 MH/s at 311.0 W untuned (0.411 MH/W): 84 W saved for 0.15 percent of rate; the ladder's floor, not yet its optimum",
"v4_cost": "as the row above",
"tuned": "full Ember Tune: 1,854 MHz core lock at the 100 percent cap",
"driver_os": "NVIDIA driver, Windows 11"
},
{
"card": "NVIDIA RTX 4070 (12 GB)",
"generator": "v2",
"mh_s": 30.95,
"watts": 79.5,
"mh_per_w": 0.389,
"miner": "igneum-worker-cuda bench (installed worker), class v3 control",
"date": "2026-10-06",
"source": "Counter ASIC 3.0 status: item 8, the RTX 4070 rows (job run-ca3-pc1-4070-shadow-20261006)",
"by": "measured by the team",
"note": "79.3 to 79.8 W at the tune point; 28.78 MH/s at 75.6 W (0.381) in Ember run 6 mining",
"v4_cost": "+30 W (79 to 109 W) for +0.4 percent of rate at 102,100 ops per hash, measured 6 October 2026",
"tuned": "full Ember Tune: 1,860 MHz core lock, 160 W cap (Ember run 6: 1,863 MHz at the 50 percent cap, 75.6 W)",
"driver_os": "NVIDIA driver, Windows 11"
},
{
"card": "AMD Radeon RX 9070 XT (16 GB)",
"generator": "v2",
"mh_s": 18.92,
"watts": 199,
"mh_per_w": 0.095,
"miner": "igneum-worker-opencl bench (installed worker), class v3 control",
"date": "2026-10-06",
"source": "Counter ASIC 3.0 status: item 8, the RX 9070 XT rows (job run-ca3-pc1-amd-g1-shadow-20261006); watts from the app's telemetry read of 5 October 2026 (the job's ADLX sample parsed 0 rows)",
"by": "measured by the team",
"note": "the card sits at 87 to 95 percent of its dependent random-read ceiling (2.42 to 2.68 G loads/s), in a Thunderbolt enclosure; AMD OpenCL 3683.0",
"v4_cost": "+2 percent of rate (19.29 against 18.92 MH/s) at 102,100 ops per hash, watts owed, measured 6 October 2026",
"tuned": "stock, bench only (the AMD tune pass runs 7 October: set only if the ADLX tune line reads, else measure-only)",
"driver_os": "Adrenalin 26.9.2, Windows 11"
},
{
"card": "Apple M5 Max (40 GPU cores, Metal)",
"generator": "v2",
"mh_s": 27.0,
"watts": 21,
"mh_per_w": 1.29,
"miner": "igneum-miner Metal worker, class v3 program",
"date": "2026-10-06",
"source": "Counter ASIC 3.0 status: item 8, the Mac rows (IOReport GPU and DRAM watts)",
"by": "measured by the team",
"note": "GPU plus DRAM watts, not wall",
"v4_cost": "+16 W for 1.5 percent of rate at 102,100 ops per hash, measured 6 October 2026",
"tuned": "no lever on Apple silicon (no clock or power control exposed); stock",
"driver_os": "macOS, Metal"
},
{
"card": "Intel Arc B580 (12 GB)",
"generator": "v2",
"mh_s": 11.0,
"watts": null,
"mh_per_w": null,
"miner": "igneum-worker-opencl bench, class v4 program",
"date": "2026-10-07",
"source": "bench log: 7 October 2026, the Intel Arc B580 (eGPU equals slot)",
"by": "measured by the team",
"note": "the same rate in the Thunderbolt enclosure and the slot; watts not read on this run",
"v4_cost": "0.1 percent of rate, measured 7 October 2026",
"tuned": "stock, bench only",
"driver_os": "Intel driver, Windows 11"
},
{
"card": "NVIDIA H100 SXM (80 GB)",
"generator": "v2",
"mh_s": 249,
"watts": null,
"mh_per_w": null,
"miner": "igneum-worker-cuda bench (Linux), class v3 control",
"date": "2026-10-07",
"source": "Counter ASIC 3.0 public text: the H100 row of 7 October 2026 (a rented card)",
"by": "measured by the team",
"note": "98 percent of its random-read ceiling like the 5090; 1.78x the 5090's hash at 1.15x the tuned 5090's hash per watt and a third of the hash per rented dollar; the watts row is being read from the run",
"v4_cost": "not measured",
"tuned": "stock, bench only (rented, not tuned)",
"driver_os": "NVIDIA driver, Linux"
}
]
}

File diff suppressed because one or more lines are too long