There is one paper, one protocol specification, one main dataset, and one record per single-platform session. This page is the single authoritative list — what each one is, how they relate, and which DOI to use.
| Artifact | Cite it for | Concept DOI (always newest) | Version DOI (pin this) |
|---|---|---|---|
| Preprint |
The argument and the measurement methodology | 10.5281/zenodo.21066652 | 10.5281/zenodo.21066654 |
| Protocol v1.1 normative | The measurement specification itself — MUST/SHOULD/MAY requirements, workload, baseline, report fields | 10.5281/zenodo.22958674 | 10.5281/zenodo.22958675 |
| Main dataset v1.1.0 source of truth | Every number on this site except the RTX 4090 column | 10.5281/zenodo.19647289 | 10.5281/zenodo.19647290 |
| RTX 4090 (Ada) deep dive | The RTX 4090 column only — INT8 on Ada, 7B on Ada. Two sessions:
2026-07-24 (energy only; this is the session the site's RTX 4090 curve is fitted from) and
2026-08-19 (energy paired with a teacher-forcing perplexity measured in the same run — also in this
repo as
rtx4090_paired_energy_quality_2026-08-19.csv,
with what it does and does not show).
The August session's INT8 penalty is 2.0–2.5× the July session's at every model size, so the two
are archived separately, must not be pooled, and the site's curves use only the July one.
Erratum, and why the DOI moved: the superseded record 10.5281/zenodo.21528103 has a vs_fp16_pct column in rtx4090_results.csv that disagrees with that file's own
energy, power and throughput columns (worst case Qwen2.5-3B NF4: column says +10.1%, the energies say +0.8%).
The percentages are recomputed from the energy column in the record listed here. If you already cited
21528103, cite this record instead — no measurement changed, only the derived percentages. |
10.5281/zenodo.22019741 | 10.5281/zenodo.22037483 |
| RTX 5090 (Blackwell) four-precision session | Anything from the 2026-09-19/20 session: NF4/INT8 repeated across a full instance restart (n = 2 per cell) and the separate torchao FP8 track (n = 3). It is a different software stack from v1.1.0's rows for the same card — bitsandbytes 0.50.2, torch 2.14.0, CUDA 13.0, driver 580.76.05 — and the NF4 crossover on this card sits near 1.8B in it against ≈5B in v1.1.0. Cite it for that comparison and never pool the two. | 10.5281/zenodo.22855132 | 10.5281/zenodo.22855133 |
| Dataset v1 superseded | Nothing — kept only so old references resolve | 10.5281/zenodo.18900288 | 10.5281/zenodo.18900289 |
preprint (SSRN #6854700, Zenodo 21066652)
| states the claim and the NVML measurement protocol
|
+-- protocol v1.1 (22958674 -> 22958675) ............ THE NORMATIVE SPECIFICATION
| RFC-2119 style MUST/SHOULD/MAY; bound to ecocompute-energy/1.2+ schema validation
| the web /method/ page is its reader's guide
|
+-- main dataset v1.1.0 (19647289 -> 19647290) ...... SOURCE OF TRUTH for this site
| 360+ configurations, 0.5B-14B, 5 GPU models / 4 arch. classes, FP16/NF4/INT8/FP8, n=2, CV < 2%
| supersedes dataset v1 (18900288 -> 18900289, 113 configurations)
|
+-- RTX 4090 (Ada) deep dive (22019741 -> 22037483) .. SUPPLEMENTS v1.1.0, does not replace it
1 card, produced by the open container (ecocompute-mlcube)
session 2026-07-24: 15/15 measured, 0.5B-7B x FP16/NF4/INT8, energy only, n=1
session 2026-08-19: 10 measured, 0.5B-7B x NF4/INT8, energy + paired perplexity, n=1
INT8 penalty 2.0-2.5x the July session's -> do not pool
session 2026-08-20: the 5 INT8 configurations re-run 3x each, n=3
CV of the energy delta 0.6-3.9%, i.e. 30-50x smaller than that gap
supersedes 21528102 -> 21528103 (its vs_fp16_pct column contradicted its energy column)
|
+-- RTX 5090 (Blackwell) 4-precision (22855132 -> 22855133) .. SUPPLEMENTS v1.1.0, same card, newer stack
session 2026-09-19/20, 0.5B-7B, container NF4/INT8 run twice across a full restart (n=2)
|A-B| mean 2.1 pp, max 5.2 pp
plus a standalone torchao FP8 track, n=3, generation-only window -- not comparable to the above
v1.1.0 already has RTX 5090 NF4 rows: the same card crosses at ~4.8B on the v1.1.0 stack
and at ~1.8B on this session's newer stack
-> a crossover belongs to the card-stack pair, not to either alone; do not pool
Concretely: supplements means the RTX 4090 run adds coverage v1.1.0 does not have (INT8 on Ada, and 7B on Ada) at a lower repeat count, so it is a deep dive rather than a replacement — and if you quote a figure from the RTX 4090 column, cite it; otherwise cite v1.1.0. Supersedes means v1 should no longer be cited: any mirror or skill listing that still says “113+ configurations” is describing v1.
Title Weight-Only Quantization Does Not Always Save Energy: An Empirical Study of LLM Inference Across NVIDIA GPU Platforms
Where SSRN #6854700 · archived copy on Zenodo
Cite it for the crossover claim, the protocol, the framing
@article{zhang_quantization_energy,
title = {Weight-Only Quantization Does Not Always Save Energy: An Empirical
Study of LLM Inference Across NVIDIA GPU Platforms},
author = {Zhang, Hongping},
year = {2026},
note = {Preprint, SSRN abstract 6854700},
doi = {10.5281/zenodo.21066654},
url = {https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6854700}
}
Published 2026-09-25 · CC BY 4.0
Contents the measurement specification itself, extracted from the site's method layer into a standalone W3C-Note/IETF-RFC-style document: workload (single-stream decode, batch 1, 256 generated tokens), baseline (same-session same-card FP16), measurement source (NVML GPU-package power at ≥10 Hz), measurement window, report fields, compliance levels A/B/C, and the protocol ↔ schema ↔ dataset version table. A conforming submission MUST pass ecocompute-energy/1.2+ validation.
Cite it for the measurement method in any paper that follows it — cite this instead of the website's /method/ page, which is the reader's guide
@techreport{zhang_ecocompute_protocol_v1_1,
title = {{EcoCompute Protocol v1.1: A Micro-Benchmark
Specification for Quantization Energy in LLM Inference}},
author = {Zhang, Hongping},
year = {2026},
month = {9},
publisher = {Zenodo},
version = {1.1},
doi = {10.5281/zenodo.22958675},
url = {https://doi.org/10.5281/zenodo.22958675}
}
Published 2026-04-19 · CC BY 4.0
Contents 360+ configurations, 0.5B–14B, RTX 4090D (Ada), RTX 5090 (Blackwell), A800 (Ampere), Tesla T4 (Turing); FP16/NF4/INT8/FP8; n = 2, CV < 2%
Cite it for anything on this site except the RTX 4090 column
@dataset{zhang_ecocompute_dataset_v1_1_0,
title = {EcoCompute: Energy Efficiency Benchmark for Quantized
Language Models},
author = {Zhang, Hongping},
year = {2026},
publisher = {Zenodo},
version = {1.1.0},
doi = {10.5281/zenodo.19647290},
url = {https://doi.org/10.5281/zenodo.19647290}
}
Published 2026-08-21 (measured 2026-07-24, 2026-08-19 and 2026-08-20) · CC BY 4.0
Contents one RTX 4090, five models 0.5B–7B × FP16/NF4/INT8, 15/15 real measurements from the open container; a second session of 10 measurements pairing energy with same-run perplexity (n = 1 each); and a third session repeating the five INT8 configurations three times each (n = 3, CV of the energy delta 0.6–3.9%)
Cite it for the RTX 4090 column, INT8-on-Ada and 7B-on-Ada claims
@dataset{zhang_ecocompute_rtx4090_2026,
title = {EcoCompute --- LLM Inference Energy on NVIDIA RTX 4090 (Ada)},
author = {Zhang, Hongping},
year = {2026},
publisher = {Zenodo},
note = {Supplementary single-platform deep dive to dataset v1.1.0
(10.5281/zenodo.19647290); direct NVML, FP16/NF4/INT8, 0.5B--7B;
three sessions: energy only, energy with paired perplexity,
and INT8 repeated 3x per size (CV 0.6--3.9%);
supersedes 10.5281/zenodo.21528103},
doi = {10.5281/zenodo.22037483},
url = {https://doi.org/10.5281/zenodo.22037483}
}
Published 2026-09-04 (measured 2026-09-03) · CC BY 4.0
Contents 45 runs on one RTX 4090: three llama.cpp GGUF arms (F16, our Q4_0, and the Llama-3.1-8B-Instruct-Q4_0.gguf that MLPerf Client v2.0 ships) × three output lengths (64/320/576) × n = 5, randomized order, forced cooldown before every run, NVML hardware energy counter at 100 Hz, with the measurement scripts, environment snapshot and model SHA-256 hashes
Cite it for the llama.cpp F16-vs-Q4_0 energy rows and anything on the MLPerf Client page. Not an MLPerf result.
@dataset{zhang_ecocompute_llamacpp_gguf_2026,
title = {Independent replication of MLPerf-style energy measurement on
NVIDIA RTX 4090 --- Llama-3.1-8B-Instruct (FP16 vs Q4\_0)},
author = {Zhang, Hongping},
year = {2026},
publisher = {Zenodo},
note = {45 runs, n=5 per cell, three output lengths, randomized order,
forced cooldown, NVML hardware energy counter; supersedes the
provisional 18-run session published on quantenergy.tech},
doi = {10.5281/zenodo.22295184},
url = {https://doi.org/10.5281/zenodo.22295184}
}
Published 2026-09-20 (measured 2026-09-19/20) · CC BY 4.0
Contents one RTX 5090 (32 GB, 575 W, driver 580.76.05), five models 0.5B–7B. Container track: NF4 and INT8 against a per-session FP16 baseline, batch 1, 256 tokens × 10 iterations, run twice with a full instance restart between sessions (n = 2 per cell; |A − B| mean 2.1 pp, max 5.2 pp). Standalone track: torchao 0.18.0 FP8 weight-only and FP8 dynamic activation+weight, n = 3, generation-only window. Raw reports, both scripts and the environment snapshot included; four reports that fell back to interpolation are shipped labelled as such and are not measurements.
Cite it for RTX 5090 INT8, the FP8 rows, and the card–stack-pair evidence: on this same card the NF4 crossover sits near 4.8B on the v1.1.0 stack but near 1.8B on this newer stack, while the same newer stack left Ada at break-even — the crossover tracks the card–stack pair, not the stack alone. Not an MLPerf result, and not pooled with v1.1.0's rows for the same card.
@dataset{zhang_ecocompute_rtx5090_2026,
title = {EcoCompute: LLM Inference Energy on NVIDIA RTX 5090 (Blackwell)
--- FP16/NF4/INT8/FP8, 0.5B--7B, direct NVML, with
cross-restart repeatability},
author = {Zhang, Hongping},
year = {2026},
publisher = {Zenodo},
note = {Supplementary single-platform session to dataset v1.1.0
(10.5281/zenodo.19647290); bitsandbytes 0.50.2 NF4/INT8 repeated
across a full instance restart (n=2, |A-B| max 5.2 pp) plus a
separate torchao 0.18.0 FP8 track (n=3, generation-only window)},
doi = {10.5281/zenodo.22855133},
url = {https://doi.org/10.5281/zenodo.22855133}
}
estimate.js) and the optional REST API@software{zhang_ecocompute_mlcube,
title = {EcoCompute energy MLCube: reproducible LLM inference energy measurement},
author = {Zhang, Hongping},
year = {2026},
note = {MLCube-compatible measurement container; cite the commit you ran},
url = {https://github.com/hongping-zh/ecocompute-mlcube}
}
One sentence: EcoCompute is an open reproducibility project measuring how LLM quantization affects inference energy per token across GPUs and model sizes.
One paragraph: Weight-only quantization (NF4, INT8) is widely assumed to save energy because it saves memory. Direct NVML power measurements across four NVIDIA GPU architectures show that below a model-size crossover point — whose location depends on both the card and the software stack — it often costs energy instead. EcoCompute publishes those measurements, the fitted crossover curves, an interactive estimator, and — crucially — the MLCube-compatible container that produced them, so anyone with an NVIDIA GPU can reproduce or contradict the result. It is independent research, not a certified benchmark.
| Item | Link |
|---|---|
| Site | quantenergy.tech |
| Measurement container | github.com/hongping-zh/ecocompute-mlcube (Apache-2.0) |
| Main dataset (v1.1.0) | 10.5281/zenodo.19647290 (CC BY 4.0) |
| RTX 4090 (Ada) deep dive | 10.5281/zenodo.22037483 (CC BY 4.0) |
| llama.cpp GGUF F16 vs Q4_0 (45 runs) | 10.5281/zenodo.22295184 (CC BY 4.0) |
| RTX 5090 (Blackwell) four-precision session | 10.5281/zenodo.22855133 (CC BY 4.0) |
| Preprint | SSRN #6854700 |
| Preview image | quantenergy.tech/preview.png (1200×630) |
| Maintainer / contact | Hongping Zhang — hongping-zh.github.io · ORCID 0009-0000-2529-4613 · open an issue |