forked from ccf-ai-infra/TileOPs-Metax
## 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>
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_profile.py | ||