-
Notifications
You must be signed in to change notification settings - Fork 6
Operations Tuning
What this page covers. Getting the most out of an unlocked CMP 170HX: clocks and the one working overclock lever, power limits, persistence mode, performance-state management, how much VRAM you can actually allocate, and workload-level tuning. Measured baseline throughput is on performance.md; inference-specific tuning is on llm-inference.md; cooling hardware is on cooling.md.
The three facts that shape everything here.
-
The only working overclock lever is the GPC clock VF offset via NVML
(
nvmlDeviceSetGpcClkVfOffset, range[-1000 .. +1000]MHz). The memory-clock VF offset range is[0 .. 0]and the driver refuses it.nvidia-smion 610.43.03 exposes only the negative direction (--set-vf-derate), which makes overclocking look unavailable, but NVML exports the full API. - The offset is really an undervolt expressed as a frequency offset. At a pinned 1350 MHz SM clock, going from +0 to +300 cut draw from 174.6 W to 132.0 W (-24.4%) at identical throughput (179.7 versus 180.7 TFLOPS BF16). The best value in tuning this card is power saved, not throughput gained.
- Above roughly +300 MHz the failure mode is silent data corruption, not a crash. A run that completes is not evidence a setting is safe.
Caution
Silent memory corruption above +300 MHz offset at a 1400 MHz ceiling
Measured with a full-VRAM pattern sweep as the gate: +250 at 142.2 W passed 3 sweeps with 0 errors; +300 at 138.5 W passed 4 sweeps with 0 errors; +325 at 132.7 W gave 6 errors, then 3 errors, then 0 errors across 3 sweeps; +375 took a CUDA device fault under load. The safe window at a 1400 MHz ceiling is one 25 MHz step wide above +300, and past it you get bad data rather than a stack trace. Run four sweeps, not two, and prefer margin whenever two settings measure equal.
| Quantity | Value | Notes |
|---|---|---|
| Base clock | 1140 MHz | also what CPU-RM runs at when GSP is disabled |
| Sustained SM clock, stock | 1410 MHz | canonical; every sustained measurement sits here |
Sustained SM clock at -pl 300
|
1470 MHz | 300 W requires the OC VBIOS, see below |
| Sustained SM clock, tuning reference card | ~1425 MHz at +0, ~1571 MHz at +150, ~1647 MHz at +300 | single card |
| VBIOS table max graphics clock | 1695 MHz | reference card, VBIOS 92.00.6D.00.0A |
| Practical silicon ceiling | ~1604-1614 MHz at +350 offset | delivered work, not the reported number |
clocks.max.sm as reported by nvidia-smi
|
1935 MHz | reported field only, low confidence, not an operating clock; single report, never re-checked |
| Graphics clock steps | 100 steps, 1695 MHz down to 210 MHz in 15 MHz decrements |
nvidia-smi -q on 580.159.04 / CUDA 13.0 |
| Memory clock domain | exactly one entry, Supported Clocks / Memory: 1728 MHz
|
there is nothing to select. The stock 8 GB memory clock is unresolved, see the box below |
| Core clock floor | 210 MHz | will not go lower, which is part of why idle power stays high |
The 10 GB card has no clock headroom at all: nvidia-smi -q reports Graphics 1140 MHz,
SM 1140 MHz, Memory 1215 MHz at capture, with Max Clocks Graphics 1410 MHz, SM 1410 MHz, Memory
1215 MHz (current equals max). Core-clock offset and memory-clock locks remain in place after
the unlock on 10 GB cards specifically.
Note
Open problem: the stock 8 GB memory clock is unresolved
The stock 8 GB memory clock is unresolved: 1458 MHz (one sweep and TechPowerUp), 1728 MHz
(nvidia-smi -q Supported Clocks, noted as "432 MHz x 4"), 1890 MHz (nvtop during an
unlocked 64 GB gpu_burn at 300 W). 1215 MHz is the 10 GB card and is solid. The plausible
reconciliation (1458 stock, 1728 OC VBIOS, 1890 overclocked OC VBIOS) is unproven; a raw
FBPA PLL read would settle it. This page prints 1728, 1890 and 1215 in different places for
that reason.
Note
Open problem: the 1470 MHz ceiling on the 8 GB OC VBIOS is unexplained
VBIOS 92.00.6D.00.0A advertises Max Customer Boost Clocks of 1695 MHz graphics/SM, 1728 MHz
memory (noted as 432 MHz x 4) and 1545 MHz video. Under mmapeak the card sat at
1470 MHz with the power limit at 300 W, GPU-T reporting PerfCap: None, and the GPU
drawing only ~150 W. Neither power nor an explicit performance cap explains it.
Memory clock locking is simply refused:
$ nvidia-smi -lmc 1000
Setting locked Memory clocks is not supported for GPU 00000000:21:00.0.Only the power limit and the GPC VF offset are adjustable through that path.
All rows below come from a single reference card (64 GB, driver 610.43.03, VBIOS
92.00.6D.00.0A, PCIe Gen2 x4). Conditions: sustained BF16 tensor GEMM, n=8192, 10-15 s soak,
NVML power sampled in-process. Every row passed the full-VRAM pattern sweep with
mem_errors=0 at least twice.
| Profile | Offset | Clock ceiling | BF16 TFLOPS | Draw | GFLOPS/W | Versus stock |
|---|---|---|---|---|---|---|
| stock | +0 | none | 184.3 | 199.2 W | 925 | baseline |
| dense | +250 | 1200 MHz | 160.8 | 120.2 W | 1337 | -13% performance / -40% power |
| eff (default) | +250 | 1350 MHz | 180.3 | 132.0 W | 1366 | -2% performance / -34% power |
| match | +250 | 1400 MHz | 186.5 | 142.2 W | 1311 | stock throughput at -29% power |
| balanced | +300 | 1470 MHz | 196.2 | 149.7 W | 1311 | +6% / -25% |
| perf | +350 | 1590 MHz | 212.2 | 181.2 W | 1171 | +15% / -9% |
| max | +350 | 1650 MHz | 215.3 | 186.1 W | 1157 | +17% at stock power |
The highest validated point at a 1400 MHz ceiling is +250 to +300 (+300 passed 4 sweeps
with 0 errors). The companion GFLOP/W table's 1390 GFLOP/W peak is at 1400/+350, which was never
sweep-validated and sits between two failures (+325 corrupted, +375 faulted). The 1376 GFLOP/W
cell at 1350/+300 is in the same category: a single completed run, never gated by a pattern
sweep. The same 1350 ladder also contains 1350/+400, which passed two sweeps and then returned
mem_errors=1 on a later one. The highest sweep-validated efficiency point is the shipped
eff profile: 1366 GFLOP/W at +250 / 1350 MHz (180.3 TFLOPS, 132.0 W). Efficiency at a 1650
ceiling runs 1067 GFLOP/W at +250 to about 1149 GFLOP/W at +350; higher figures there come only
from offsets that faulted. The eff profile is the shipped default because it gives up 2% of
throughput for a third of the power.
At a 1350 MHz ceiling, everything above +250 draws the same power, so the correct choice is the lowest offset that reaches the floor:
| Offset | +150 | +200 | +250 | +300 | +350 | +400 | +450 |
|---|---|---|---|---|---|---|---|
| Draw | 146.0 W | 140.9 W | 132.4 W | 131.3 W | 132.1 W | 131.5 W | 132.5 W |
No better floor point exists between 1350 and 1400 MHz: +400/1380 and +375/1395 both fault
on the first run. This SKU reports no voltage telemetry at all (nvidia-smi -q -d VOLTAGE is
empty), so watts-at-fixed-clock is the only available proxy for voltage.
Same reference card. +350 is the highest validated offset at a 1650 MHz ceiling. The safe offset is ceiling-dependent: at a 1400 MHz ceiling the highest validated offset is +300, because 1400/+325 silently corrupts.
| Clock ceiling | Offset | TFLOPS | Power | Outcome |
|---|---|---|---|---|
| 1650 | +350 | 214.7 | 187 W | clean, 2 sweeps plus a selftest PASS (highest validated) |
| 1650 | +355 | 215.0 | 183 W | faulted by the third run, illegal instruction
|
| 1650 | +360 | 217.3 | 182 W | fault |
| 1650 | +375 | 219.3 | 182 W | best single result on the card, then fault plus 1 memory error on the next sweep |
| 1650 | +400 | 210.7 | 179 W | clean but slower |
| 1590 | +400 | n/a | n/a | HANG |
| 1700 | +375 | n/a | n/a | HANG, "GPU requires reset", power cycle needed |
| any | +450 | n/a | n/a | hard crash; a warm reboot is not always sufficient |
Fault strings observed: illegal instruction, illegal memory access, misaligned address,
cublas 14.
Why +400 can benchmark slower than +375: Ampere's NAFLL has droop detection and stretches the clock when voltage is inadequate. At +400 the requested VF point is far enough past the curve that the stretcher engages continuously, so the clock reads 1650 MHz while delivered work drops about 4% below +375. Between roughly +355 and +390 the part runs at the full requested speed with too little margin, and that is exactly where the intermittent faults live. A higher offset that benchmarks slower is a warning sign, not a win.
Per-card silicon varies enough that a validated offset on one card must not be assumed on another. The documented procedure:
- Run
sudo nvml_ocand confirm the GPC range is not[0..0]. (This doubles as the quickest test that a card is actually unlocked.) -
sudo 170hx-oc stock, thensudo oc_eff 10for a baseline. - Ladder +150 to +300 with
oc_effat each step. - At the candidate point run the full-VRAM memory sweep and compute checksum
(
170hx-test.sh --no-unlock). - Stop at the first device fault and back off one full step, not one bin.
- Record results per card.
Overclocking buys far less on real workloads than on GEMM microbenchmarks. llama.cpp with MTP on short chats:
| Model | Setting | Decode | Power | Core clock |
|---|---|---|---|---|
| Qwen3.6-35B-A3B-UD-Q8_K_XL | stock | 130 t/s | 170 W | 1445 MHz |
| Qwen3.6-35B-A3B-UD-Q8_K_XL | +200 offset | 144 t/s | 185 W | 1650 MHz |
| Qwen3.6-27B-UD-Q8_K_XL | stock | 55 t/s | 268 W | 1390 MHz |
| Qwen3.6-27B-UD-Q8_K_XL | +200 offset | 59 t/s | 287 W | 1565 MHz |
That is a 7-11% token-generation gain. A second tester independently reported +200 MHz as their own stable maximum.
| Step | Clock | FP32 |
|---|---|---|
| session start | 1410 MHz | 12.08 TF/s |
nvidia-smi -pl 300 |
1470 MHz | 12.99 TF/s |
| offset +60 | 1515 MHz | 13.40 TF/s |
| offset +225 | 1695 MHz | 14.97 TF/s (+24%) |
This works on the 8 GB part because VBIOS entries 0x47177 / 0x47179 hold
freqDelta = +/-1000 there. Both read 0 on the A100 and on the CMP 10 GB. See
vbios.md.
| Quantity | Value | Source |
|---|---|---|
| Default / Current / Requested power limit | 250.00 W |
nvidia-smi -q, unlocked card, driver 610.43.02 |
| Min power limit | 100.00 W | same capture |
| Max power limit, stock CMP VBIOS | 250.00 W | same capture |
| Max power limit, NVIDIA 300 W "OC mining" VBIOS | 300 W |
POW 278 / 300 W observed under a 30-minute gpu_burn
|
| Slot power limit (DevCap) | 75 W | the card needs its EPS connector |
| Power connector | 1 x EPS 8-pin (300 W rated), needs a 2 x PCIe-to-EPS adapter | see power-and-psu.md |
So on stock firmware nvidia-smi -pl can only lower the card, between 100 W and 250 W.
There is no headroom above stock without the OC VBIOS, and that VBIOS is an 8 GB-card story:
after the memory unlock, 10 GB cards were confirmed to still carry the core-clock-offset lock
and the memory-clock lock, pinned at 1215 MHz. Nobody in the archive verified a 300 W VBIOS
combined with the unlock on a 10 GB card.
nvidia-smi -pl 160 # works; documented uses span 100/150/160/175/200/250 (and 300 on the OC VBIOS)
nvidia-smi -q -d POWER # confirm Current / Min / Max / DefaultThe recurring assertion that "there is no way to power limit these cards" is wrong.
Barely. Measured against the same tester's own 250 W baseline on a card with the faster-memory VBIOS and a large blower, going to 300 W moved BF16 from ~180 to 185 TFLOPS (about +2.8%), and thermals were not the limiter (core and memory both below 65 C). The conclusion drawn was that the core simply does not want to clock higher.
Going the other way is nearly free. Power-limiting to 150 W cost no measured throughput in
raw throughput stress tests (single source, specific to that workload class), and the whole
eff profile above exists because the power curve is steeply diminishing. In hashcat DES an
overclock-VBIOS card gave 1800 MHash at 190 W against a stock card's 1700 MHash at 150 W: a
26.7% power increase for 5.9% more performance, so power grows roughly 4.5x faster than
performance. Silicon leakage rising with temperature makes the curve worse when hot.
| Workload | Draw |
|---|---|
| Idle | 27-46 W depending on card, temperature and residency; ~42 W typical on a running rig |
| Idle with a model resident in VRAM | rises from about 33 W to about 45 W (a resident CUDA context raises clocks) |
gpu_burn FP32 / FP64 |
~60 W |
gpu_burn with tensor cores |
~75 W, spikes past 100 W |
| CUTLASS BF16 (shape-optimised) | 186 W peak on a locked card; mmapeak post-unlock only ~150 W at 1470 MHz |
| hashcat (pure integer) | 160+ W |
| STREAM-like memory benchmark | 160+ W |
| FluidX3D with FMA disabled, FP32/FP16S | 180 W |
| llama.cpp, steady | 230-240 W |
| Diffusion | 250-260+ W |
gpu_burn at a 300 W limit |
278 / 300 W |
Warning
Do not validate cooling or stability with an FP32 burn-in
This card is hard to load. A conventional FP32 burn-in reaches only 60-75 W where an integer
or memory benchmark reaches 160+ W. Validate with hashcat, a memory sweep, or gpu_burn -tc
plus a real workload, not with FP32 alone.
Cooling the card better lowers its idle power, which is the benign half of the leakage feedback loop and the most likely explanation for the 30 W-versus-44 W idle spread across testers.
For rigs: 20 cards idling at ~30 W each is roughly 600-700 W just to sit there. A six-card llama.cpp layer-split system drew about 600 W total, far under 6 x 250 W, because layer and pipeline split do not saturate all GPUs simultaneously. Host platform choice dominates: a dual-socket Xeon 6200 with Optane PMem 200 and 1.2 TB of memory idled at 400-600 W, against ~200-250 W for a dual EPYC 7713 with 1 TB DDR4, 80 W for a single EPYC 7D12 system, and 30 W for an EPYC 7261 with one DIMM.
Overclock and power settings are volatile: they must be reapplied at every boot and after every driver reload. The reference deployment uses a systemd oneshot:
[Unit]
After=nvidia-persistenced.service gen2-hammer.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/170hx-oc eff
ExecStop=/usr/local/bin/170hx-oc stockThe applier guards on PCI device ID 0x20C2 and loops over every GPU, so a non-170HX in the
slot is skipped and logged rather than overclocked. A representative log line:
170hx-oc: GPU 0 (…) profile=eff offset=+250 clk_max=1350 power_limit=300 W
Notes on nvidia-persistenced itself:
- The patched module sets
NV_FLAG_PERSISTENT_SW_STATEfor both device IDs (0006-persistent-sw-state.patch), so RM does not tear down software state when the last client closes. That is effectively built-in persistence and is why no daemon is required;nvidia-smi -qon a fresh card nonetheless reportsPersistence Mode: Disabled. -
The unlock scripts require all NVIDIA services to be stopped.
build.shstopsnvidia-persistencedas part of its hot reload. Tearing the driver down reliably means stopping the display manager and the persistence daemon, not justmodprobe -r. See troubleshooting.md.
Caution
Do not install nvidia-pstated as a systemd service on an unlocked host
The unlock scripts need every NVIDIA service killed, and the interaction with a pstate daemon is untested. If you want to experiment with it, run it from a launcher instead.
The 170HX exposes only P0. NvAPI_GPU_SetForcePstate returns NVAPI_ERROR, and the
community fork of nvidia-pstated that works on 2-P-state cards (P100, V100) was tried on a
170HX and produced no change. The daemon's defaults, for reference, are
iterationsBeforeSwitch = 30, performanceStateHigh = 16, performanceStateLow = 8,
sleepInterval = 100, temperatureThreshold = 80.
This is card-specific, not a fault in the tool: nvidia-pstated took a CMP 90HX from 75 W to
5 W idle, working across a multi-GPU setup and persisting across reboot.
Note
Superseded: 'pstated will fix 170HX idle power'
It cannot. The documented fallback for single-P-state cards is application-clock locking
(nvidia-smi -i N -ac <mem,gpu> to idle, nvidia-smi -i N -acp or -rac to restore),
implemented through nvmlDeviceSetApplicationsClocks rather than NvAPI. A fork added
enableClockFallback with clockFreqMemHigh / clockFreqGpuHigh / clockFreqMemLow /
clockFreqGpuLow. Measured savings on other hardware: ~13 W on a V100S PCIe, 16-18 W per GPU
on V100 SXM2 with llama.cpp holding a model. This has not been demonstrated on the 170HX,
and its single memory-clock domain is the obvious obstacle. On bare-idle V100 SXM2 the GPU
clock dropped from 1530 to 135 MHz with no measured power reduction at all.
Note
Open problem: one P-state or two?
One account says the 170HX has two P-states; every posted capture shows only a single
default P0, which is why the NvAPI call fails. The practical consequence is the same either
way. nvidia-smi -q -d PERFORMANCE listing the supported P-state set would settle it.
The one untried lead for idle power is flashing PCIe A100 logic, which does contain several P-states. Nobody has attempted it, and VBIOS work on this card is signature-constrained; see vbios.md.
| Card | Stock | Unlocked | What tools report |
|---|---|---|---|
8 GB (10de:20c2) |
8192 MiB | 65536 MiB (64 GB) |
nvidia-smi 65536 MiB; gpu_burn "Initialized device 0 with 65052 MB of memory (64733 MB available, using 58259 MB of it)" |
10 GB (10de:2082) |
10240 MiB | 40960 MiB (40 GB) | 40459 MB reported in one capture; a controlled run used 17464 MiB of 40960 MiB |
| 10 GB fired to 80 GB | n/a | reports ~81920 MiB / 79.7 GiB | unusable above ~40 GB |
Practical allocation guidance:
- Budget roughly 1 GB of the 64 GB for driver and context overhead: the gpu_burn capture above shows 65052 MB total and 64733 MB available before the tool takes 90%.
-
vLLM: the 8-card GLM-5.2 recipe uses
--gpu-memory-utilization 0.90and achieved 0.92 utilisation in practice, yielding 438,107 tokens of KV. Keep utilisation at or below 0.90: 0.95 crashed a card, because the unlocked geometry exposes 65052 MB with only 64733 MB actually available, so headroom at 0.95 is thin. The recipe also setsVLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS=0. - llama.cpp: observed steady-state residency on a 4-card rig was 53G/64G, 60G/64G, 60G/64G and 56G/64G, with a prompt cache of 8192.000 MiB / 65536 tokens.
- The RM models the whole unlocked range as uniform-performance memory
(
supportCompressed = NV_TRUE,supportISO = NV_TRUE,performance = 20on the extended region), so allocation policy cannot prefer the fast region even where one exists. The measured bandwidth step above an 8 GiB offset (98% of peak below, a flat 79% above, closing entirely at a 32 GB chunk size) is invisible to the allocator. See performance.md. - Shipping
masterclamps the BAR0/PRAMIN window to 8 GiB for both device IDs (0004-bar0-pramin-clamp.patch). This is a CPU-side aperture, not a device-side allocation limit, but it is the reason PRAMIN-based tools see only the first 8 GiB. - The installer's profile auto-detection reads
nvidia-smi --query-gpu=memory.totaland maps>= 60000 MiBto the 8 GB profile and35000-59999 MiBto the 10 GB profile, so an already-unlocked card re-detects correctly. Stock windows are 7680-8704 MiB and 9728-10752 MiB, with a ±512 MiB tolerance for reserved FB.
Caution
The 80 GB geometry is not more VRAM, it is less
A 10 GB card fired to 80 GB reports ~81920 MiB and 85,545,582,592 bytes, and cudaMalloc of
77 GiB even succeeds, but kernels touching more than roughly 40 GB cause fatal GPU loss,
independent of power limit. Reported Xid codes include Xid 31 (described as harmless) and
Xid 154 after CUDA memory tests; the dominant reported symptom is hangs. Xid 31 alone was
suggested by a bystander and was not corroborated as the signature by the operator with the
failing card. For one tester model loading hung after roughly 20 GB, while a second tester
with multiple cards saw failures in the 40 to 60 GB band; either way models
that previously fit the 40 GB unlock stopped loading. Physical DRAM is present (a PRAMIN
walk proved 80 distinct GiB), and on this branch the wall behaves like address decode. A
script-driven coherent register set does reach real memory past 40 GiB, but it is unshipped
and delivers roughly one CUDA context per fire. 8 GB cards go to 64 GB;
10 GB cards go to 40 GB. See 80gb.md and
memory-geometry.md.
Warning
There is no ECC and no ECC telemetry
ECC is fused off with no known lever, so a marginal overclock has no error-counter safety net. That is precisely why the qualification ladder above gates on a full-VRAM pattern sweep with a compute checksum. See ecc.md.
| Setting | Value | Why |
|---|---|---|
| CUDA architecture | -DCMAKE_CUDA_ARCHITECTURES=80 |
compute capability 8.0 is GA100; SM86 also works but 80 is correct |
| Backend | vLLM where it supports your model | "~1.8x" llama.cpp, from one tester on Qwen3.6 27B, one card, quants not matched |
| Parallelism across cards | pipeline, never tensor | TP is 2.3-2.8x worse at prefill at Gen1 x4 |
| MTP | on for single-stream llama.cpp, off for vLLM on the 35B MoE | +21% on one backend, -23% on the other |
| Quantisation | q4-class is the practical sweet spot on a 64 GB card | bf16 Qwen3.6 27B is 54-56 GB and leaves no KV headroom |
| Model family | prefer MoE for multi-card | less cross-device activation traffic per token |
For a locked card the 2023 selection rule still stands: the card is useful below 0.3 FLOPs/byte of arithmetic intensity with stock FMA, or below 4.6 FLOPs/byte after disabling FMA (ridge points from 394 and 6250 GFLOPS over a 1355 GB/s measured ceiling). After the compute unlock FP32 rises by roughly 30x while bandwidth is unchanged, so the ridge moves out by the same factor and the rule stops binding: an unlocked card behaves like an ordinary memory-bound GA100 for most kernels. (That last sentence is a derivation from the two canonical figures, not a separately measured result.)
On a CMP 100-210, setting n_ubatch 56 raised llama.cpp pp512 from 353.59 to 977.20 t/s
with flash attention off and from 380.96 to 1159.39 t/s with it on, a 3.04x gain from one
flag, while tg128 was essentially unchanged. Small further gains held up to uBatch 62, then
performance collapsed. That card has 68 of 84 SMs, so the analogous tuning point on a 70-SM
170HX would be just below 70.
Note
Open problem: does the uBatch cliff exist on the 170HX?
Nobody has run the sweep. llama-bench with n_ubatch from 48 to 80 on a compute-unlocked
170HX is a single afternoon of work and is the largest untested upside in the archive.
# 1. compute stability and sustained flops
make COMPUTE=80 # github.com/wilicc/gpu-burn
./gpu_burn -tc -m 90% 1200
# 2. memory integrity: the gate that catches silent corruption
./170hx-test.sh --no-unlock # full-VRAM pattern sweep + compute checksum
# 3. link and geometry sanity
nvidia-smi --query-gpu=memory.total,clocks.max.sm,pcie.link.gen.current,pcie.link.gen.max --format=csvA clean 30-minute gpu_burn at a 300 W limit on an unlocked 8 GB to 64 GB card looked like
this: 225 iterations, checkpoints holding 12,472-12,485 GFLOP/s with errors: 0,
temperatures rising only 75 C to 77 C, live telemetry PCIe GEN 1@ 4x,
GPU 1440MHz MEM 1890MHz TEMP 76C FAN N/A POW 278 / 300 W,
GPU 100% MEM 57.534Gi/64.000Gi, finishing Tested 1 GPUs: GPU 0: OK.
Thermals are not usually the constraint: a sustained GEMM burn held flat flops while the die went 62 to 73 C over roughly 25-30 seconds, and a full-capability part throttles only above ~85 C. What does matter is that idle power and leakage rise together, so better cooling pays twice. See cooling.md and thermals.md.
| Metric | Value | Conditions |
|---|---|---|
| Best measured GFLOPS/W | 1390 GFLOP/W | ceiling 1400 MHz, offset +350. Never sweep-validated, and bracketed by 1400/+325 CORRUPT and 1400/+375 fault. Not an operating point. |
| Second-best measured | 1376 GFLOP/W | ceiling 1350 MHz, offset +300. A single completed run, never gated by a pattern sweep. Not an operating point. |
| Best sweep-validated GFLOPS/W | 1366 GFLOP/W |
eff (shipped default), +250 / 1350 MHz, 180.3 TFLOPS at 132.0 W; passed the full-VRAM pattern sweep with mem_errors=0 at least twice |
| Stock | 925 GFLOP/W | 184.3 TFLOPS at 199.2 W |
| LLM serving | 2.16 tok/s per watt | vLLM, Qwen3.6 27B int8, one card |
| Memory overclock (reported) | +2.5% flops for about +5 C | no clock or p-state code exists in any archived branch, so this cannot be checked against code |
- Memory clock locking (
nvidia-smi -lmc): refused by the driver. - Memory VF offset: range is
[0 .. 0]. - Raising the power limit above 250 W on stock VBIOS: not offered.
- P-state forcing (
nvidia-pstated,NvAPI_GPU_SetForcePstate): the card exposes only P0. - Core-clock offset on the 10 GB card:
freqDeltais 0 in its VBIOS. - Offsets above the ceiling-specific validated maximum: faults, hangs, or silent corruption. That maximum is +350 at a 1650 MHz ceiling but only +300 at a 1400 MHz ceiling.
- Gaming, at any tuning point: 15 fps in BeamNG.drive at Gen1 x16 with the capacitor mod, 5 fps at x4, "still awful" either way. This is not a gaming card.
- ECC as a safety net: fused off.
See open-questions.md and dead-ends.md.
Start
Hardware
- Board And Variants
- Fuses And OTP
- GA100 Silicon
- Memory Subsystem
- NVLink Hardware
- Overview
- PCIe Subsystem
- Power Delivery
- Thermals
- VBIOS
Unlock
- Compute Throttle
- Driver Patches
- Falcon And Booter
- How It Works
- Memory Geometry
- Overview
- PCIe Gen2
- Privilege Level Masks
- Register Reference
- ROP Chain
Procedures
Operations
Frontier
History
Appendix