Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 01:27
· 6 commits to main since this release
  • perf_diagnose: says whether a recording splits its GPU work into too many short encoders, as translation layers
    do, with encoders and command buffers per frame, the labels with the most GPU time and the GPU's idle time.
    Defaults (4 encoders per frame, 25 µs, 25 % short) come from bgfx 17-drawstress on an M1 Pro: 7 encoders per frame
    and 50 % under 25 µs under Mullion, 2 and 2 % in native Metal.
  • Summaries gain encoders and gpu_idle, from metal-gpu-intervals and metal-application-encoders-list.
    Summaries written by older versions have neither: record again to diagnose them.
  • Every tool parameter has a description; metal-gpu-trace --version.
  • Registry files: server.json (MCP Registry), glama.json; CHANGELOG.md.
  • trace_tables and trace_query take a run name; perf_runs says whether each run kept its .trace
    (trace_kept).
  • A trace without metal-gpu-intervals fails with a hint; summaries list other missing tables in missing_tables.
  • capture_summary returns calls_total.
  • Tools carry title, readOnlyHint, destructiveHint, idempotentHint and openWorldHint; initialize
    returns usage instructions.
  • A recording's deadline grows with its length (10 s per recorded second plus 120 s), and one that overruns leaves
    no files behind.
  • perf-runs/ is created only when a recording needs it. Tests run under pytest; CI on macOS with Python 3.9 and
    3.13.