HBM identity, physical-address aliasing, and usable memory capacity.
We started with a CMP170HX running at 40 GiB. Configuring it for 80 GiB made the larger capacity appear in software, but writes to the upper range overwrote data in the lower range. We traced that behavior through CUDA mappings, physical memory reads, GPU firmware, and the HBM identities reported by the board.
This repository documents the measurements and tools used to validate GPU memory capacity. It matters for ML workloads because a successful allocation is only useful if weights, activations, and cache entries occupy independent storage.
| Measurement | Result on the tested board |
|---|---|
| Active HBM identities | Five Samsung stacks, density code 4, eight-high, eight available channels each |
| Capacity described by those identities | 5 × 8 GiB = 40 GiB |
| Expanded memory tests | Distinct physical addresses returned each other's data in uniform80 and mixed42 configurations |
| Diagnostic address model | Clearing row-field bit 14 reproduces all 48 saved alias words across six sample windows |
| Usable capacity demonstrated beyond 40 GiB | None |
The identities and alias measurements support 40 GiB as the real addressable capacity of this board's active memory. This is a result for one board and the tested configurations. It does not establish the memory fitted to every CMP170HX, identify the disabled sixth group, or locate the exact hardware element where the extra row bit loses its effect.
The existing 40 GiB and compute unlocks come from the upstream CMP community project. This repository contributes measurements, analysis, and diagnostic tools; it is not an unlock installer.
Python 3.10 or later; standard library only. These commands run offline on Windows, Linux, or macOS.
python tools/verify.py
python tools/identity.py
python -m unittest discover -s tests -vThe verifier checks evidence hashes, identity decoding, lower-buffer data patterns in the physical read samples, the saved row-bit difference, controller attribution, and the profile-table comparison. It does not contact a GPU.
The firmware-backed mapper is also included. It requires your own copy of the exact NVIDIA firmware; reproduction instructions explain how to extract and verify it. An optional Linux CUDA diagnostic is under experiments/.
- Findings: what we measured and what it means.
- Methods: allocation tests, physical reads, and the limits of the model.
- Firmware notes: initialization, HBM identity selection, and the boot-time cache.
- Reproducing the analysis: commands, inputs, and expected results.
- Evidence and redaction: what is included and what was removed.
- Sources and attribution.
Measurements were collected on 4–5 September 2026 using a CMP170HX 10 GB variant (10de:2082), VBIOS 92.00.66.00.02, and NVIDIA driver/GSP 610.43.02. The board was returned to its established 40 GiB configuration and passed an operational CUDA check.
The 48 alias words come from two experiments, not 48 independent hardware trials. The row-bit explanation was fitted to those measurements. Emulation agreement validates the software calculations; it does not turn them into new physical observations.
The HBM density definitions were checked against two public reproductions of JESD235C, rather than an authenticated publisher copy. HBM serial and manufacturing fields are removed from the public fixtures. The exact Samsung product name remains unknown.
Contributions with measurements from other boards are welcome. Please include device/firmware versions, memory geometry, the test method, and numerical results. See CONTRIBUTING.md.