Generate a JAX performance report#
2026-07-17
2 min read time
TraceLens offers two JAX reports from an XPlane protobuf trace: the standard report (operator and roofline analysis, like the PyTorch report) and a GPU-event and GEMM analysis focused on event-type breakdowns and GEMM performance.
Before you begin#
TraceLens installed (see Install TraceLens).
A JAX XPlane protobuf trace (
xplane.pb). JAX parsing uses thexprofdependency, installed automatically with TraceLens.
Note
JAX protobuf parsing has been validated with tensorboard 2.19.0,
tensorboard-plugin-profile 2.19.0, and protobuf 5.29.2. Other versions might
not work.
Standard report#
Generate a report from a JAX XPlane protobuf trace (xplane.pb):
TraceLens_generate_perf_report_jax --profile_path path/to/xplane.pb
The same --profile_path argument also accepts a PyTorch trace.json.
Expected output: An Excel report analogous to the
PyTorch report, with the operator and
roofline analysis derived from the XPlane trace (the operator sheets are named
kernel_launchers*, alongside xla_summary and df_xla_perf). JAX output does
not include the short_kernels_summary / short_kernel_histogram sheets —
those are PyTorch-only.
Options:
--kernel_metadata_keyword_filters <kw> ...restricts the analysis to events whose metadata contains the given keywords (for example,remat checkpointto focus on rematerialization/checkpointing scopes).--enable-origamiuses Origami-simulated GEMM/SDPA times when a GPU arch JSON is available.--output_xlsx_pathand--output_csvs_dircontrol output paths. (JAX currently supports only these output options.)
For bandwidth analysis of JAX collective operations from XPlane traces, see the
jax_nccl_analyser_example.ipynb
notebook.
GPU-event and GEMM analysis#
For a JAX-specific breakdown of GPU event statistics and GEMM performance, use the analysis report. It has no console entry point, so run it as a module:
python -m TraceLens.Reporting.generate_perf_report_jax_analysis \
--profile_xplane_pb_path path/to/xplane.pb \
--output_path ./jax_analysis \
--num_cus 304
This writes one file per table into --output_path, named
<output_filename><suffix> (default output_filename is
trace_analysis_results), in both .xlsx and .csv by default:
File suffix |
Contents |
|---|---|
|
Average time and percentage per GPU event type, including total/exposed/overlapped communication time. |
|
GPU event statistics grouped by category. |
|
XLA computations grouped by base name (digits/trailing underscores stripped), sorted by percentage of total time. |
|
Summary of GEMM events. |
|
Detailed GEMM performance metrics, computed against the GPU compute units ( |
Options:
--profile_xplane_pb_path PATH(required): the JAX XPlane protobuf trace.--output_path DIR(required): output directory.--num_cus N:GPU compute units for the GEMM model (default304for MI300X; use104for MI210).--namesets the architecture label (defaultmi300x).--output_table_formats {.xlsx,.csv} ...:one or both output formats (default both).--output_filename NAME:base name for the output files (defaulttrace_analysis_results).