Skip to content

roofp 0.2.0

Choose a tag to compare

@luoyueyuguang luoyueyuguang released this 18 Jul 11:11

Highlights

  • Introduces schema-versioned Roofline analysis with explicit dimensional field names and separate evaluations for ideal, measured, and additional roofs.
  • Replaces JSON-string MCP parameters with validated structured inputs and structured outputs.
  • Separates theoretical hardware capability from per-hardware measured utilization; above-roof measurements are reported but excluded from rankings.
  • Adds precision, FLOP-counting, bandwidth-level, sparsity, and measurement-kind metadata with compatibility warnings.
  • Makes MCP SVG output opt-in and bounds response sizes.
  • Fixes peer comparison plots, removes pyplot global figure state, and keeps SVG/PNG/PDF output support.
  • Makes CLI stdout valid JSON, moves status messages to stderr, adds atomic output writes, strict config validation, --analysis-only, and --version.
  • Adds Python 3.10–3.14 CI, minimum-dependency checks, wheel-only installation checks, linting, typing, coverage, protocol tests, and distribution validation.

Breaking changes

  • MCP operators_json and roofs_json string parameters are replaced by structured operators, roofs, and workloads arrays.
  • MCP results are returned as structured content instead of JSON strings.
  • Ambiguous 0.1 output aliases such as compute_flops, roof_performance_flops, and headroom_ratio are removed.
  • OperatorPoint now accepts arithmetic_intensity directly; achieved bandwidth is derived.
  • compare_rooflines accepts optional per-hardware measurements instead of applying one measured performance value to every roof.
  • SVG is returned from MCP only when include_svg: true is requested.

See the updated README and SKILL.md for migration examples.

Validation

  • 57 tests pass with warnings treated as errors.
  • Branch coverage: 88%.
  • Ruff, Ruff formatting, Mypy, compileall, lockfile, and dependency checks pass.
  • SKILL.md passes the Codex skill validator.
  • The wheel and sdist were built, inspected, and the wheel was installed and exercised in an isolated environment.
  • SHA256SUMS is attached for the published wheel and sdist.

Commit: 0efb1e0469911eddf9cdc13ddc51f00fabd44558