Skip to content

XProf v2.23.0

Choose a tag to compare

@Matt-Hurd Matt-Hurd released this 31 Jul 19:52
· 464 commits to master since this release

What's Changed

  • Update version to 2.23.0 by @Matt-Hurd in #3077
  • Refactor backend to decouple buffer allocation data from rendering. by @zzzaries in #3087
  • Reland cl/956308795: make detect_layout_mismatch_copies_tool pure Python. by Profiler Team in #3080
  • [XProf: trace viewer] Add C++ WASM binding for custom trace colors by @lilysjtu2011 in #3069
  • Add open-source protobuf storage fields for High Confidence TPU Duty Cycle and Program Goodput. by Profiler Team in #3016
  • Add labels to timeline view. by @cliveverghese in #3076
  • UX Improvements to Trace Viewer V2: by Profiler Team in #3025
  • Add some deduplication info for lite events. by Profiler Team in #2943
  • Optimize XProf layout mismatch copy detection tool. by @subhamsoni-google in #3075
  • Show HLO instruction names in peak memory chart tooltips. by @zzzaries in #3072
  • Introduce standardized kernel stats and step timing tools across 1P and 3P endpoints in TensorBoard Profile Plugin CLI. by Profiler Team in #3059
  • Enhance core tracing infrastructure, decorators, and top HLO ops utilities in TensorBoard Profile Plugin CLI. by Profiler Team in #3057
  • Integrated Utilization Viewer with the diff service. by Profiler Team in #2861
  • Add a new memory_profile tool to xprof. by @Pani122 in #2946
  • Add UnifiedUtilizationViewerProcessor. by @Pani122 in #2826
  • Fix request-level analysis for Orbax Serving profiles in XProf. by @youchunni in #2851
  • [XProf: trace viewer] Add screenshot test and CUJ menu tests for trace viewer by @lilysjtu2011 in #3045
  • [XProf: trace viewer] Add Preferences GM3 panel and enable_customization feature flag by @lilysjtu2011 in #3051
  • [XProf] Rework how convert-reduce detection decides whether an f32 upcast is unnecessary. by @xianglan010 in #3063
  • Add XProf Summit 2026 annoucement & Events Page by @Becker-ZH in #3056
  • Project import generated by Copybara by Profiler Team in #3047
  • Add alignTable, a generic utility to align active and baseline session data for all tools. by Profiler Team in #2842
  • Add a generic diff service that each tool can use to implement its own version of diff by Profiler Team in #2841
  • [XProf: trace viewer] Add more colors to the Trace Viewer's default palette. by @lilysjtu2011 in #3043
  • [XProf: trace viewer] Add speed configuration APIs to Trace Viewer v2 WASM by @lilysjtu2011 in #3050
  • [XProf: trace viewer] Adjust zoom/pan acceleration in Trace Viewer v2 to match v1 ratios by @lilysjtu2011 in #3044
  • Project import generated by Copybara by Profiler Team in #3046
    • Add baseSessionId to 1P and 3P navigation event: by Profiler Team in #2837
  • Move drawing functionality into a separate helper file to clean timeline.cc by Profiler Team in #3030
  • Add internal profiler utilities and memory performance definitions. by Profiler Team in #2774
  • Support extracting custom call cost estimates for JAX Triton kernels. by Profiler Team in #2857
  • Optimize memory copy mismatch detection performance. by Profiler Team in #2993
  • Add baseSessionID handling to DataServiceV2: by Profiler Team in #2821
  • Update custom call profiling with new LLO tracing docs by Profiler Team in #2998
  • Add support for simultaneous multi-message callout rendering, per-message dismissal, and message accumulation in DiagnosticsView. by Profiler Team in #3034
  • Refine Memory Analysis UX by Profiler Team in #3032
  • Maintain ImGui invariants by pushing an empty ImDrawCmd after CmdBuffer.resize(0). This prevents _OnChangedClipRect from reading out-of-bounds memory when it attempts to peek at the last command in the buffer. by Profiler Team in #3031
  • Prevent hiding the last visible process in Trace Viewer. by Profiler Team in #3012
  • Add Pin/Unpin functionality to track management. by Profiler Team in #2864
  • Add a field to store a deterministic, unique op ID. by Profiler Team in #3029
  • XProf: Document previously undocumented server CLI flags by @subhamsoni-google in #3027
  • XProf: Fix incorrect CLI shorthand flags in documentation by @subhamsoni-google in #3028
  • [XProf: trace viewer] Ensure delete button is always visible on tracks by @lilysjtu2011 in #2999
  • [XProf: trace viewer] Add resizing visual indicator and snap-to-edge support by @lilysjtu2011 in #3001
  • Add pin UI functions and constants to setup Pin/Unpin functionality. by Profiler Team in #3011
  • Adding GPU Metrics Support for FlatOpMetricsDb by Profiler Team in #3023
  • Add FlatOpMetricsDb support to OpStats and StepDetails. by Profiler Team in #2869
  • Internal change by Profiler Team in #2844
  • [XProf: trace viewer] Update Timeline Snapping behavior by @lilysjtu2011 in #3000
  • Project import generated by Copybara by Profiler Team in #3010
  • Migrate remaining Sass code to the module system by Profiler Team in #3009
  • Migrate to the Sass module system by @copybara-github in #2957
  • Establish event selection parity between 1P and 3P Trace Viewer V2. by Profiler Team in #3002
  • Enable compressed protobuf format in 3P Trace Viewer UI. by Profiler Team in #2995
  • [XProf: trace viewer] Add fullscreen mode for Trace Viewer by @lilysjtu2011 in #2988
  • Create graph viewer screenshot test by Profiler Team in #2876
  • Refactor timeline rendering to include "All" and "Hidden" headers. by Profiler Team in #2856
  • Create LLO Analysis CLI tools by @Matt-Hurd in #2879
  • Add guard for default and NO_MODULE HLO modules in Trace Viewer v2. by Profiler Team in #2991
  • Separate track drawing into separate function to keep code clean, and to prepare for adding the DrawHeaderRow function introduced for the experimental Hide/Pin features. by Profiler Team in #2992
  • Fix XProf Memory Analysis layout spacing, bar heights, and table text wrapping. by Profiler Team in #2987
  • Update test nesting level constants, tests and fonts to prepare for refactoring timeline rendering to include "All" and "Hidden" headers. by Profiler Team in #2952
  • Add "Capture Kernel" button to generate kernel profiling commands. by Profiler Team in #2955
  • Exact match toggle for string filter component. by Profiler Team in #2958
  • Add LLO analysis and query tools to xprof_cli. by Profiler Team in #2941
  • Refactor Timeline search, event handling, and optimize reserve capacity. by Profiler Team in #2948
  • Fix missing copybara stripping for internal profiling tools in xprof CLI. by @subhamsoni-google in #2986
  • Internal change by Profiler Team in #2954
  • Extract fallback logic for framework operation type parsing into utils by @zzzaries in #2893
  • [XProf] Refactor convert-reduce tracer to iterative DFS to prevent stack overflow. by @xianglan010 in #2953
  • hlo_proto_to_memory_visualization_utils: Rely on buffer_assignment to compute unpadded sizes and indefinite allocations. by @matthiaskramm in #2488
  • Enhance frontend search input, navigation handling, and test deduplication. by Profiler Team in #2889
  • Add Emscripten WASM binding for setting search results by Profiler Team in #2947
  • Add counter extraction to get counter names from files. by Profiler Team in #2865
  • Fix Trace Viewer V2 Self Time calculation for selected events by @sannidhyachauhan in #2919
  • Remove SparseCoreOffloadRule from smart suggestions by @xiongbolu-mineral in #2910
  • Fix Missing Events in Trace Viewer V2 due to Overlapping Timestamp by @Becker-ZH in #2939
  • Fix VMEM peak memory allocation in XProf memory viewer by Profiler Team in #2949
  • Add internal profiler utilities and memory performance definitions. by Profiler Team in #2773
  • Fix unified tool registrations to execute conditionally and reliably by @Pani122 in #2918
  • Enhance C++ timeline search navigation and zoom calculations. by Profiler Team in #2895
  • Project import generated by Copybara by Profiler Team in #2934
  • Do not mutate const CompilerMetadata protos. by @rickyz in #2940
  • Update pinned OpenXLA commit in WORKSPACE.bazel to resolve dependency skew. by Profiler Team in #2932
  • Fix Dear ImGui buffer management in timeline unit tests. by Profiler Team in #2931
  • Revert: Update CustomCall off-duty logic to check both flops and model_flops. by @Becker-ZH in #2942
  • Optimizes detect_layout_mismatch_copies_tool to O(N) by precomputing HLO graph connectivity maps. Replaces slow xla_data_pb2 dependency with a hardcoded type dictionary to drastically reduce startup time. by Profiler Team in #2923
  • Fixes Xprof duty cycle tracking for custom-call collective operations. Custom calls using ICI communication are now correctly categorized as "on-duty" , preventing underestimation of chip utilization. by Profiler Team in #2894
  • Optimizes detect_layout_mismatch_copies_tool to O(N) by precomputing HLO graph connectivity maps. Replaces slow xla_data_pb2 dependency with a hardcoded type dictionary to drastically reduce startup time. by Profiler Team in #2914
  • Consolidate unified tool registrations into a single file. by @Pani122 in #2902
  • Refactor ProfileProcessorTest for readability and idiomatic C++ style by @Pani122 in #2901
  • Improve visual representation and hover interaction for instant events. by @harsh2201 in #2912
  • Fix: Trigger redraw after timeline selection. by @harsh2201 in #2913
  • [XProf] Minimize unnecessary data type conversions: Implement context-aware reduce-centric unnecessary upcast detection. by @xianglan010 in #2831
  • Adjust styling for trace viewer container and drawer. by Profiler Team in #2706
  • Internal change by Profiler Team in #2832
  • Refactor ProfileProcessorTestParam and add missing processors to test suite by @Pani122 in #2886
  • Roofline Metric Support Using FlatOpMetric DB: Source information helper utilities. by Profiler Team in #2898
  • Add internal profiler utilities and memory performance definitions. by Profiler Team in #2771
  • Standardize createToolUrl implementation and support deep linking by Profiler Team in #2899
  • Add XProf profile plugin support for compressed protobuf traces. by Profiler Team in #2891
  • No op. 1P specific change to TraceEventLiteContainer. by Profiler Team in #2897
  • Introduce Unified Memory Viewer. by @Pani122 in #2780
  • Introduce Base HLO Processor. by @Pani122 in #2867
  • Optimize trace event ID stability in trace parser by Profiler Team in #2815
  • Implement Material 3 UI layout, filter chips, and interactive playground for XProf Labs component. by Profiler Team in #2892
  • [XProf: trace viewer] Add resizing feature for selected time ranges. by @lilysjtu2011 in #2846
  • Refactor tool_list type annotation in profile_plugin.py to Sequence. by Profiler Team in #2890
  • [XProf: graph viewer] Fix recursive iframe loading and improve layout robustness by @lilysjtu2011 in #2887
  • [XProf: graph viewer] Add screenshot tests for layout fix and download button position by @lilysjtu2011 in #2829
  • Visualize rectangle-selected counter points and improve deselection. by @harsh2201 in #2877
  • Add ConvertDeviceTraceXPlaneToFlatOpMetricsDb to parse GPU XPlanes natively into FlatOpMetricsDb using XEventsFlatOpMetricsDbBuilder. by Profiler Team in #2840
  • Implement hiding of process tracks in Trace Viewer v2. by Profiler Team in #2855
  • Restore autospec and remove noisy comments in profile_io tests. by @subhamsoni-google in #2863
  • Project import generated by Copybara by @jmr in #2880
  • Deduplicate event argument and adjacent node network requests in Trace Viewer. by Profiler Team in #2814
  • Display two decimal for perf counter utilization by @Becker-ZH in #2818
  • Add track hiding icons to Trace Viewer V2 experimental features. by Profiler Team in #2853
  • [XProf: trace viewer] Add bookmarking infrastructure and UI markers by @lilysjtu2011 in #2845
  • Adjust timeline event and selection calculations. by @harsh2201 in #2866
  • Fix WebAssembly memory leak in wrapper component and optimize string transfers. by Profiler Team in #2753
  • Fix display issues with long text in category filters in perf counters tool by @sannidhyachauhan in #2652
  • Add event_stats to CounterEvent and CounterData. by @harsh2201 in #2860
    • This CL introduces the detect_layout_mismatch_copies tool, a new automated graph analysis tool for identifying copy operations causing physical layout mismatch, HBM materialization, and TPU lane boundary alignment overhead. by Profiler Team in #2813
  • Fix GCS bucket path crash caused by mTLS/pyOpenSSL incompatibility. by @subhamsoni-google in #2862
  • Remove protobuf runtime version checks by @Matt-Hurd in #2854
  • Validate selective binary loading in builds by @Matt-Hurd in #2479
  • Add more counter ids for TPU v7x. by Profiler Team in #2858
  • Make the height at least 1px for 0 values in trace viewer by Profiler Team in #2850
  • Add enable_continuous_profiling option by @sannidhyachauhan in #2782
  • Introduce LiteTraceEvents for optimized trace viewer data processing. by Profiler Team in #2852
  • Introduce UnifiedOverviewPageProcessor for xprof. by @Pani122 in #2683
  • Support Orbax Serving batch-level analysis in XProf inference profile by @youchunni in #2778
  • Update XLA Commit to include updates in xplane_schema by @youchunni in #2849
  • Update CustomCall off-duty logic to check both flops and model_flops. by Profiler Team in #2022
  • Minor nits in HLO memory analysis backend. by Profiler Team in #2839
  • Fix GCS exception handling and remove pyOpenSSL dependency in XProf by @subhamsoni-google in #2823
  • Add internal profiler utilities and memory performance definitions. by Profiler Team in #2768
  • Fix zero-index search count display formatting in trace viewer container by Profiler Team in #2812
  • [XProf: trace viewer] Refactor FEATURE_FLAGS to ensure ID uniqueness by @lilysjtu2011 in #2733
  • [XProf: trace viewer] Fix Op Profile and Graph Viewer sidebar height truncation by @lilysjtu2011 in #2825
  • 'Internal Change' by Profiler Team in #2817
  • Fix graph viewer scrolling issue by removing height: max-content; from mat-sidenav. This ensures the sidenav respects the container's height and displays a scrollbar when content overflows. by Profiler Team in #2833
  • Introduce Unified workflow for OpProfile tool. by @Pani122 in #2607
  • Remove --> from OSS xprof by Profiler Team in #2828
  • [XProf: trace viewer] Implement Snap to Time Range feature by @lilysjtu2011 in #2801
  • Standardize XProf trace viewer frontend switch labels in the UI. by Profiler Team in #2827
  • Add Feature Flags to Trace Viewer 3P frontend. by Profiler Team in #2796
  • DOC: Add guide on memory leaks by @copybara-github in #2709
  • Fix Keyword Bolding in Kernel Profiling Doc by @Becker-ZH in #2819
  • [XProf: trace viewer] Fix feature flag error handling by @lilysjtu2011 in #2800
  • Fix memory viewer bar chart for shared VMEM buffers by Profiler Team in #2811
  • Fix phantom buffer entries in XProf memory viewer bar chart by Profiler Team in #2810
  • Allow logdir to be None in LocalXprofClient.set_logdir to avoid TypeError when running xprof CLI without arguments. by @subhamsoni-google in #2808
  • Support underscores in rendezvous name. by @bbadawi1 in #2806
  • Fix height propagation for XProf Tools by @zzzaries in #2805
  • deprotect MaybeInternString by Profiler Team in #2722
  • [XLA:GPU] Fix SIGSEGV in XProfGpuCostAnalysis on custom calls with zero operands by @vickyliu-go4it in #2792
  • Fix a typo of an xla flag name in the sparse_core_offload_rule description by @xiongbolu-mineral in #2797
  • Refactor unified_hlo_stats tool to use new base class. by @Pani122 in #2664
  • Explicitly add termcolor to pip requirements by @Pani122 in #2802
  • Update pip requirements lockfiles to include fire dependency by @Pani122 in #2799
  • Pass the search_metadata query param inside the tensorboard http server by Profiler Team in #2735
  • Make graph viewer component fill stable parent full height. by @zzzaries in #2795
  • Fix physical gaps in contiguous HBM memory buffers inside Hlo Memory Timeline View at large memory scales by switching to double-precision floating-point coordinates. by @bmass02 in #2714
  • [xprof:cli] Add XProf CLI commands for terminal-based performance metrics by @Matt-Hurd in #2786
  • Add support for .xplane.riegeli in Tensorboard plugin profile by @muditgokhale2 in #2791
  • Add support for reading chunked XSpace profiles in Riegeli format. by @muditgokhale2 in #2783
  • [XLA:GPU] Rename IsCublasGemm to IsCublasLtGemm 2/3. by @derdrdirk in #2692
  • [CLI] Add XProf CLI commands for terminal-based performance metrics by Profiler Team in #2785
  • Changes: by @zzzaries in #2758
  • [CLI] Add XProf CLI commands for terminal-based performance metrics by @Matt-Hurd in #2732
  • Add XPlaneDiagnostic setup. by Profiler Team in #2759
  • Expose the search_metadata flag by Profiler Team in #2734
  • Added proper sorting to events_per_level to ensure binary searches can operate correctly. by @bmass02 in #2762
  • Update XLA commit to latest. by @Matt-Hurd in #2690
  • Project import generated by Copybara by @runzw in #2775
  • Refactor unified profile processors to use XprofSessionSnapshot. by @Pani122 in #2661
  • Add note about using Graph Viewer from other tools by @copybara-github in #2755
  • Project import generated by Copybara by Profiler Team in #2647
  • Refactor DeviceOpMetricsDbBuilder::EnterOpMetadata to accept OpIdentifier. by Profiler Team in #2749
  • Refactor DeviceOpMetricsDbBuilder to use unified parameter structs. by Profiler Team in #2696
  • Integrate XProf Labs routing and upgrade navbar icon to M3 pill layout. by Profiler Team in #2752
  • Add feature flag to control metadata indexing in trace viewer prefix trie. by Profiler Team in #2750
  • Project import generated by Copybara by Profiler Team in #2761
  • DOC: Add XProf Kernel user guide by @copybara-github in #2720
  • [XProf: trace viewer] Fix trace viewer vertical layout overflow and gaps by @lilysjtu2011 in #2757
  • Project import generated by Copybara by @youchunni in #2756
  • Add trace event filter bar and color palette settings to the Trace Viewer v2. by Profiler Team in #2742
  • Create the XProf Labs component and core view modules. by Profiler Team in #2751
  • Restore zoom level duration fallback check for flow events in trace viewer by Profiler Team in #2737
  • Introduce a unified XprofSessionSnapshot interface. by @Pani122 in #2614
  • Expose ProfileData API via XProf by @Matt-Hurd in #2701
  • [Doc]Add XProf DCN and PCIe profiling doc by @youchunni in #2745
  • Switch back to using rendezvous for connecting megascale events. by @bbadawi1 in #2744
  • [Doc] Remove tpu_enable_fw_pcie_utilization_event from Power and Thermal Events flags by @youchunni in #2743
  • Fix iterator invalidation crash in TraceProcessor::ResolveFlows. by @bbadawi1 in #2727
  • Fix Kernel Colab Failures by @Becker-ZH in #2738
  • Draw instant events as filled, semi-transparent triangles. by Profiler Team in #2698
  • 3P Kernel Demo by @Becker-ZH in #2729
  • Propagate group_tiny_events URL parameter end-to-end from frontend to TraceProcessor. by @bbadawi1 in #2728
  • Fold stacked sub-nanosecond tiny TPU events in trace preprocessor. by @bbadawi1 in #2726
  • Add unit tests for ConvertFlatOpStatsToOpProfile to verify OpProfile generation from FlatOpMetricsDb. by Profiler Team in #2730
  • Restricts the clearing of the use_saved_result parameter (via disableCacheRegeneration) in session storage to only occur when querying primary tool endpoints. by Profiler Team in #2725
  • Search LevelDB for metadata search by Profiler Team in #2695
  • Prefix Trie Metadata Indexing for Trace Viewer by Profiler Team in #2694
  • [XProf: trace viewer] Optimize level rendering with calculation-based culling by @lilysjtu2011 in #2719
  • [XProf: trace viewer] Optimize group rendering with vertical binary search by @lilysjtu2011 in #2717
  • Update README.md by @Becker-ZH in #2721
  • [XProf: trace viewer] Refactor Timeline to allow mocking of internal Draw methods by @lilysjtu2011 in #2716
  • [XProf: trace viewer] Optimize level rendering with horizontal binary search by @lilysjtu2011 in #2715
  • Add bounds notifications for timeline pan and zoom. by Profiler Team in #2711
  • Rename TPU v7 instances (not TPU v7x) to TPU v6e / TPU v6 Lite & adjust utilization filenames accordingly. by Profiler Team in #2697
  • Update url extension for percale link by Profiler Team in #2665
  • Back comp fix for counter line in trace viewer. by Profiler Team in #2705
  • Refactor: Adjust trace viewer container heights and drawer styling, so that empty white space at the bottom of the page is removed. by Profiler Team in #2707
  • Add processing time log in xprof worker. by Profiler Team in #2675
  • Integrate FlatOpMetricsDb support into the OpProfile builder and conversion pipeline. by Profiler Team in #2703
  • Integrate FlatOpMetricsDb support into the multi-host OpStats combiner. by Profiler Team in #2702
  • Disable xprof_gpu_cost_analysis_test for now. by Profiler Team in #2700
  • Fix utilization viewer counter storage for integers. by Profiler Team in #2689
  • Call trace_viewer_diagnostics.json in trace viewer V1 frontend by @youchunni in #2312
  • Enable scroll and zoom out in Trace Viewer V2 when loading deep-linked traces. by Profiler Team in #2682
  • Add TPU v6e ("TPU v7") support in util viewer. by Profiler Team in #2686
  • Reorganize ToC and add better screenshots by @copybara-github in #2618
  • Update README.md by @charlesalaras in #2685
  • [XProf: trace viewer] Centralize localStorage cleanup of deprecated keys by @lilysjtu2011 in #2676
  • Not display "EXPERIMENTAL" badge from smart suggestion view by @xiongbolu-mineral in #2670
  • [XProf: trace viewer] Reset Measure mode onboarding state by @lilysjtu2011 in #2673
  • [XProf: trace viewer] Update Measure mode onboarding text to include Shift shortcuts by @lilysjtu2011 in #2672

Full Changelog: xprof-v2.22.3...xprof-v2.23.0