Make Metal shaders legible.
Parse .gputrace bundles. Export to pprof, Chrome, or Perfetto. Compare runs. Profile real shaders without Xcode.
Open source. MIT licensed. CLI tool. No C toolchain required.
What it does- Statistics and profiling —
stats,profiler,shaders,kernels: dispatch counts, kernel timing, pipeline breakdown, source-level attribution. - pprof export — open any Metal trace in
go tool pprof. Graph, flamegraph, and the usual Go-native tooling you already know. - Timeline export — produce Chrome / Perfetto timelines for visual shader inspection, buffer access patterns, and command-buffer analysis.
- Trace diff — compare two runs with per-dispatch, per-kernel, per-encoder breakdowns, and a natural-language explanation of what changed.
A Metal trace can become a pprof profile, a Perfetto timeline, or a dispatch-by-dispatch diff. That gives mlx-go and skiff inference work the same inspect-measure-compare loop used for Go CPU profiles. gputrace uses the apple bindings and ships as one binary.