Watt Counts: Energy-Aware Benchmark for Sustainable LLM Inference on Heterogeneous GPU Architectures
Organizations: Universidad Politécnica de Madrid, C. de los Ciruelos, Boadilla del Monte, 28660, Madrid, Spain · Zurich University of Applied Sciences, Switzerland, Gertrudstrasse 15, Winterthur, 8400, Zurich, Switzerland
Abstract
While the large energy consumption of Large Language Models (LLMs) is recognized by the community, system operators lack guidance for energy-efficient LLM inference deployments that leverage energy trade-offs of heterogeneous hardware due to a lack of energy-aware benchmarks and data. In this work we address this gap with Watt Counts: the largest open-access dataset of energy consumption of LLMs, with over 5,000 experiments for 50 LLMs across 10 NVIDIA Graphics Processing Units (GPUs) in batch and server scenarios along with a reproducible, open-source benchmark that enables community submissions to expand this dataset. Leveraging this dataset, we conduct a system-level study of LLM inference across heterogeneous GPU architectures and show that GPU selection is crucial for energy efficiency outcomes and that optimal hardware choices vary significantly across models and deployment scenarios, demonstrating the critical importance of hardware-aware deployment in heterogeneous LLM systems. Guided by our data and insights, we show that practitioners can reduce energy consumption by up to 70% in server scenarios with negligible impact on user experience, and by up to 20% in batch scenarios.
Figures & tables
| Dataset | # GPUs | # LLMs | LLM-GPU comb. | Energy Metrics | Workload Type/Scenario | Open Data | Engine |
| LLM Energy Consumption Dataset [ 13 ] | 3 | 6 | 18 | ✓ | Batch | ✓ | ollama |
| Azure LLM Inf. Traces [ 35 ] | 1 | 6 | 6 | ✗ 1 | Server | ✓ | vLLM |
| AI Energy Score [ 21 ] | 1 | 121 | 121 | ✓ | Batch | ✓ | PyTorch, vLLM, Optimum 2 |
| ML.ENERGY [ 6 ] | 2 | 27 | 54 | ✓ | Batch | ✓ | vLLM |
| MLPerf Power [ 38 ] | 11 3 | 3 | 33 | ✓ 4 | Server, Batch, Single/Multiple Stream | ✓ | PyTorch, ONNX |
| J. Fernandez et al. [ 9 ] | 3 | 7 | 21 | ✓ | Batch | ✗ | PyTorch, vLLM |
| GPU | Architecture | Profile | Memory (GB) | TDP (W) | TFLOPS (FP16) | Mem BW (GB/s) | L2 Cache (MB) | TFLOPS per Watt | Year |
| Tesla V100 SXM2 | Volta | Enterprise | 32 | 250 | 125 | 898 | 6 | 0.5 | 2018 |
| Tesla T4 | Turing | Enterprise | 16 | 70 | 65 | 320 | 4 | 0.93 | 2018 |
| A100 SXM4 | Ampere | Enterprise | 40 | 400 | 312 | 1555 | 40 | 0.78 | 2020 |
| GeForce RTX 3090 | Ampere | Consumer | 24 | 350 | 71 | 936 | 6 | 0.20 | 2020 |
| A30 PCIe | Ampere | Enterprise | 24 | 165 | 165 | 933 | 24 | 1.00 | 2021 |
| GeForce RTX 4090 | Ada Lovelace | Consumer | 24 | 450 | 165 | 1010 | 72 | 0.37 | 2022 |
| GPU | 1st | 2nd | 3rd | Total models |
| A100 SXM4 40 GB | 0 | 0 | 13 | 42 |
| A30 PCIe | 0 | 1 | 13 | 34 |
| GeForce RTX 4090 | 0 | 1 | 1 | 34 |
| H100 NVL 94 GB | 45 | 4 | 1 | 50 |
| H200 NVL | 2 | 43 | 2 | 50 |
| L4 | 3 | 1 | 11 | 33 |
| GPU | 1st | 2nd | 3rd |
| Server High Load | |||
| A100 SXM4 40 GB | 6 | 1 | 7 |
| A30 PCIe | 1 | 19 | 14 |
| GeForce RTX 4090 | 0 | 0 | 1 |
| H100 NVL 94 GB | 9 | 6 | 4 |
| H200 NVL | 0 | 7 | 5 |
| GPU | TTFT p95 (ms) | Mean Power (W) |
| Small | ||
| A100 SXM4 40 GB | 12 | 67.4 |
| A30 PCIe | 33 | 32.3 |
| GeForce RTX 3090 | 57 | 52.3 |
| GeForce RTX 4090 | 21 | 31.9 |
| H100 NVL 94 GB | 17 | 90.8 |
| GPU | TTFT p95 (ms) | Mean Power (W) |
| Small | ||
| A100 SXM4 40 GB | 17 | 112.7 |
| A30 PCIe | 31 | 72.5 |
| GeForce RTX 3090 | 25 | 198.0 |
| GeForce RTX 4090 | 23 | 121.1 |
| H100 NVL 94 GB | 18 | 119.9 |
Appendix figures & tables5 assets
Supplementary material from the paper’s appendix.
Appendix
| Scenario | Component | Share (%) | Corr. with Total |
| Batch | GPU | 92.5 | 1.000 |
| CPU | 7.0 | 0.989 | |
| DRAM | 0.5 | 0.989 | |
| Server high | GPU | 91.2 | 1.000 |
| CPU | 7.4 | 0.995 | |
| DRAM | 1.4 | 0.127 |
| GPU | Model | Params (B) | Mean Energy/Token |
| Tesla V100 SXM2 32 GB | allenai/OLMoE-1B-7B-0924 | 1.000000 | 0.256803 |
| Tesla T4 | microsoft/Phi-tiny-MoE-instruct | 1.100000 | 0.135182 |
| Tesla V100 SXM2 32 GB | microsoft/Phi-tiny-MoE-instruct | 1.100000 | 0.140642 |
| L40S | HuggingFaceTB/SmolLM2-1.7B-Instruct | 1.700000 | 0.113926 |
| GeForce RTX 3090 | HuggingFaceTB/SmolLM2-1.7B-Instruct | 1.700000 | 0.143895 |
| Tesla T4 | HuggingFaceTB/SmolLM2-1.7B-Instruct | 1.700000 | 0.129636 |
| Variable | Coef. | Std.Err. | z | P z | [0.025 | 0.975] |
| Intercept | -0.919 | 0.123 | -7.47 | 0.000 | -1.160 | -0.678 |
| log_params | 0.237 | 0.014 | 16.93 | 0.000 | 0.210 | 0.264 |
| C(model_type)[T.gemma2] | -0.495 | 0.109 | -4.54 | 0.000 | -0.709 | -0.281 |
| C(model_type)[T.gpt_oss] | -0.219 | 0.154 | -1.42 | 0.155 | -0.521 | 0.083 |
| C(model_type)[T.granite] | -0.409 | 0.098 | -4.17 | 0.000 | -0.601 | -0.217 |
| C(model_type)[T.granitemoe] | -0.443 | 0.105 | -4.22 | 0.000 | -0.649 | -0.237 |
| Variable | Coef. | Std.Err. | z | P z | [0.025 | 0.975] |
| Intercept | -0.948 | 0.117 | -8.10 | 0.000 | -1.177 | -0.719 |
| log_params | 0.282 | 0.013 | 21.69 | 0.000 | 0.257 | 0.307 |
| hidden_size_resid | -0.098 | 0.044 | -2.23 | 0.026 | -0.184 | -0.012 |
| num_layers_resid | 0.028 | 0.015 | 1.87 | 0.062 | -0.001 | 0.057 |
| num_attention_heads_resid | 0.070 | 0.024 | 2.92 | 0.004 | 0.023 | 0.117 |
| num_key_value_heads_resid | 0.121 | 0.014 | 8.64 | 0.000 | 0.094 | 0.148 |
| Model | Family | Arch. | Total Params (B) | Active Params (B) | GPUs |
| Small models | |||||
| openai-community/gpt2 | gpt2 | Dense | 0.124 | 0.124 | 10 |
| Qwen/Qwen2.5-0.5B-Instruct | qwen2 | Dense | 0.490 | 0.490 | 10 |
| nvidia/AceMath-1.5B-Instruct | qwen2 | Dense | 1.500 | 1.500 | 10 |
| Qwen/Qwen2.5-1.5B-Instruct | qwen2 | Dense | 1.540 | 1.540 | 10 |
| HuggingFaceTB/SmolLM2-1.7B-Instruct | llama | Dense | 1.700 | 1.700 | 10 |