TileOPs-Metax/benchmarks/hardware/memory
Cao Ying 65df23d170
[Refactor][Benchmark] Normalize HBM bandwidth microbenchmark (#663)
## Summary

Add HBM bandwidth microbenchmark for GPU hardware characterization (M6
module).

- `benchmarks/hardware/memory/hbm_bandwidth.py` — measures
read/write/copy bandwidth across sizes and dtypes, computes calibration
factor against theoretical peak
- Reads theoretical specs directly from `tileops/perf/profiles/` via
`load_profile()` (single source of truth)
- `benchmarks/hardware/utils/bench.py` — thin wrapper around
`tilelang.profiler.do_bench` with bandwidth calculator
- `docs/roofline.md` — relax "zero external dependencies" to "no
third-party dependencies beyond the project itself"

No CSV output, no env.py, no global state — minimal code focused on
producing the `hbm.calibration` value for GPU profiles.

## Test plan

- [ ] `python -c "import ast;
ast.parse(open('benchmarks/hardware/memory/hbm_bandwidth.py').read())"`
— syntax OK
- [ ] Run `python benchmarks/hardware/memory/hbm_bandwidth.py` on H200 —
verify theoretical from profile, measured peak, and calibration factor

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 15:44:59 +08:00
..
__init__.py [Refactor][Benchmark] Normalize HBM bandwidth microbenchmark (#663) 2026-03-25 15:44:59 +08:00
hbm_bandwidth.py [Refactor][Benchmark] Normalize HBM bandwidth microbenchmark (#663) 2026-03-25 15:44:59 +08:00
hbm_saturation.cu [Refactor][Benchmark] Normalize HBM bandwidth microbenchmark (#663) 2026-03-25 15:44:59 +08:00