TileOPs-Metax/tests/perf
Cao Ying 055a37130a
[Feat][Perf] Add M6 GPU profile module with H200 profile (#661)
## Summary

Delivers the **M6 (HW Profile)** module's data contract — GPU profile
YAML + loader — as defined in `docs/architecture.md`.

- Add `tileops/perf/` package skeleton (M5/M6 shared namespace)
- Add `tileops/perf/profiles/h200.yaml` — theoretical specs (NVIDIA
datasheet) + calibration factors (from `benchmarks/hardware/`
microbenchmarks). Only `theoretical` and `calibration` are stored;
`effective` is computed at load time.
- Add `tileops/perf/profile.py` — loader (`load_profile("h200")` → dict)
serving as the M6 → M5 interface. Handles PyYAML scientific notation
coercion (scoped to numeric keys only) and dynamic `effective`
computation.
- Add 3 smoke tests in `tests/perf/test_profile.py`
- Update `docs/roofline.md` GPU Profile section to reflect that
`effective` is computed, not stored

## Test plan

- [x] `pytest tests/perf/test_profile.py -v` — 3/3 pass
- [ ] Verify h200.yaml theoretical values match NVIDIA H200 datasheet

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

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 12:58:10 +08:00
..
__init__.py [Feat][Perf] Add M6 GPU profile module with H200 profile (#661) 2026-03-25 12:58:10 +08:00
test_profile.py [Feat][Perf] Add M6 GPU profile module with H200 profile (#661) 2026-03-25 12:58:10 +08:00