Demand versus capacity
Update 1.0-rfc2: the current version extends these base formulas with grouped metadata and host and software reservations. See the updated sizing methodology and its sources. The previous profiles remain available as a manual alternative.
A project implementation for inference planning, not a benchmark. Each indicator expresses demand / capacity: lower means more headroom; 100% is the limit. These are not observed utilization percentages.
The tokens/s target is used, not estimated GPU speed. Requests/s per machine = users × target tokens/s / average response / machines. This assumes continuously active users and uniform distribution, and omits prompt and queueing time, making it a conservative approximation of sustained traffic. The response is limited to context minus prompt.
Automatic profiles (v0.8)
The profiles are editable assumptions, not measurements or per-SKU benchmarks. CPU: native scenario 1,000–4,000 tokens/s per worker and conservative scenario 250–1,000. Effective workers = min(selected cores, configured workers); scaling factor = workers^0.7. The same baseline is shared between families because there is no evidence for assigning a specific IPC ranking to each SKU. CPU layer offload is not modelled. A different tokenizer or text may fall outside the range. An aggregate measurement can replace the profile.
Disk: HDD 0.1–0.2; SATA SSD 0.3–0.5; SAS SSD 0.6–1; NVMe 2–6 GB/s per drive. These are project planning bands, not interface maxima or a model's specifications. Independent mode reads only one drive. Parallel mode: drives × 70% efficiency if there is more than one, conditional on distributed weights and a parallel reader; the controller/PCIe may limit this. A measurement replaces total speed and is not multiplied again.
The dial uses the conservative bound. Disk time shows both bounds. Adding cores does not accelerate the profile once the configured worker count has been reached.
Formats are filtered using Lenovo Press product guides: SE455 LP1724 (front only, 4 SATA/NVMe); SR680 V4 LP2264 (8 NVMe); SR680 V3 LP1909 and SR685 LP1910 (16 NVMe); SR780 LP1980 (12 NVMe); SR650 LP2128 (8 SATA/SAS/NVMe or E3.S); SR675 LP1611 (depending on the variant, 8 × 2.5-inch drives —variant 4 supports up to 4 NVMe—, 6 E1.S or 4 E3.S); GB300 LP2357 (up to 8 E1.S per tray). These are platform limits: backplane, controller, cabling, slots and the exact part still require validation. Internal/M.2 boot drives are not added. For GB300, this is a per-tray reference, not the rack total.
References: Hugging Face: native tokenizers and other implementations; Lenovo: SSD performance by model. These sources do not validate the calculator's heuristic coefficients.
CPU
Tokenization and detokenization demand = requests/s × (prompt tokens + response tokens). This is compared with the measured throughput of both processes across the machine's CPUs. The measurement is not inferred from cores/TDP; the automatic profile only applies the worker assumption described above. It excludes engine scheduling and computation for offloaded layers. A value of 0 enables the automatic CPU profile.
RAM
Loading budget = one shared weight copy + OS reserve; if the minimum offload requirement is larger, that minimum is used. This can vary with mmap, per-process copies and the loader. With unified memory, the LLM workload is counted once plus the OS. Capacity and demand are in decimal GB; the catalogue retains its published nominal capacities. Initial OS reserve: 8.589934592 GB.
With offload: minimum weight traffic/s = minimum offloaded weights per machine × steps/s needed at the target. Steps/s = tokens/s per user × users in the busiest replica / active batch. GB/s uses decimal bytes. The dial shows the larger capacity or bandwidth ratio when bandwidth has been measured. It excludes host KV, NUMA, PCIe and CPU computation. Overall offload speed is therefore not predicted.
Disk
Minimum cold-read time = bytes in one weight copy / effective storage read rate. Dial = read time / target seconds. It excludes initialization, deserialization, GPU transfer, cache, concurrent per-replica copies, datasets and checkpoints. Disk offload is not simulated. Neither the entered speed nor the profile certifies a Lenovo-compatible drive part.
Network
Inference API: requests/s × max(prompt, response) × bytes per token × 8. The busier direction is used because the port is full duplex. Capacity = fastest port among the selected cards × editable efficiency; ports and cards are not added together. SR680a V4 includes the integrated network. That port is assumed to be dedicated to serving the API. TP/PP, network storage and distributed training are excluded. With no port selected, capacity is shown as pending, not zero.
Sources and limits
measured values are entered in the calculator. The chart does not add percentages of different quantities or guarantee that the generation target will be achieved.
Consumption, emissions and efficiency
CO₂e (kg) = kWh × factor (g CO₂e/kWh) / 1000. The initial 108 g factor is an approximate reference for Spanish electricity generation in 2025, calculated from 29.5 million tonnes and 272,201 GWh in the Red Eléctrica report; it does not necessarily represent your supply and does not include lifecycle impacts. It is editable. Tokens/kWh = tokens/s per user × users × 3600 / average solution kW (including PUE). This is an indicative combination of two estimates, not a measurement of hardware efficiency.
The chart compares kWh and kg CO₂e per million generated tokens. Lower values are better for the same task. The initial targets of 20 kWh and 2 kg are editable planning references, not scientific efficiency thresholds. The band represents the performance range: a neutral tone within the reference, red above the reference, and amber when it crosses the reference. This is an editable reference, not an efficiency criterion. It is not assessed when power or speed is missing. Prefill and queueing time are excluded.