Releases: openxla/xprof
Releases · openxla/xprof
XProf v2.22.0
Known Issues
- Due to a libtpu regression, tools depending on HLO Modules are not working as intended for libtpu versions
0.0.35and0.0.37. This currently affects all versions of XProf. For a temporary workaround, we advise using libtpu0.0.36while we resolve this issue. This impactsHLO Op Profile,Trace Viewer, andGraph Viewer.
What's Changed
- Update XProf version to 2.22.0 by @subhamsoni-google in #2345
- Implement the Trace Viewer V2 by Profiler Team in #2279
- Add unit tests to megascale_perfetto directory. by @bbadawi1 in #2340
- [XProf: trace viewer] Update consstants by Profiler Team in #2338
- [XProf: trace viewer] Integrate ruler into the timeline table. by Profiler Team in #2331
- Defer smart suggestions view rendering in overview page by @xiongbolu-mineral in #2326
- Preserve session_path and run_path query parameters in Trace Viewer links. by Profiler Team in #2337
- Add support for reading XSpace protos from Google Cloud Storage in xprof. by Profiler Team in #2325
- Disables the smart suggestions feature in the XProf frontend. by Profiler Team in #2336
- Add timing logs to TraceViewerProcessors. by @subhamsoni-google in #2335
- Combine program ID map and source stats in OpStats, and generate HLO protos from XPlanes if needed. by @Pani122 in #2334
- Refactor: Add detailed logging for XProf by @subhamsoni-google in #2333
- Update Copybara configurations to support Google Cloud C++ and JSON third-party mappings, and add corresponding external dependencies to the OSS Bazel WORKSPACE. Add transform rules for TSL and Storage Client include paths. by Profiler Team in #2321
- Optimize step alignment computation. by @subhamsoni-google in #2322
- [XProf: trace viewer] Always show delete button for selected time ranges by Profiler Team in #2317
- Create Input Bound Rule for Smart Suggestion to Cover High Infeed Op Ratio by Profiler Team in #2308
- Fix timeline link in memory viewer by @muditgokhale2 in #2328
- Extract file I/O operations into profile_io.py by Profiler Team in #2323
- Display disaggregated serving avg decoding step time on TPU in the XProf overview page by Profiler Team in #2195
- Skip redundant xspace preprocessing in streaming trace viewer by @muditgokhale2 in #2306
- [Code cleanup] Reformat timeline.cc and timeline_test.cc. by Profiler Team in #2318
- Improve handling of DMA events and clean up the code. by @bbadawi1 in #2311
- Refactor: Optimize StepIntersection by pre-calculating step timespans by @subhamsoni-google in #2284
- Add a Jax Profiler Test by @Becker-ZH in #2298
- Register separate smart suggestion rules for 3P by Profiler Team in #2297
- Add mandatory device and resource regexes to TraceFilterConfig by Profiler Team in #2300
- Fix HLO Stats UI misalignment by @muditgokhale2 in #2305
- Fix CSV export filename to be human-readable in XProf by @muditgokhale2 in #2294
- Fix metadata collection issue for HLO. by @cliveverghese in #2303
- Fix redundant double data requests on page reload in hlo_stats, input_pipeline, memory_profile, op_profile and roofline_model by @muditgokhale2 in #2261
- Remove duplicate description push in performance summary. by @bmass02 in #2296
- Fix XStat retrieval issues in DutyCycle calculations that resulted in off-duty ops being considered on-duty. by @bmass02 in #2295
- Refactor: Improve error propagation for ConvertXSpaceToOpStats by @subhamsoni-google in #2283
- Fix SVG export in XProf Graph Viewer by removing invalid .outerHTML access. by @muditgokhale2 in #2293
- Implement graph viewer crosslinks in the Trace Viewer V2 by Profiler Team in #2278
- Support Helical MPMD Pipelining in Trace Viewer. by Profiler Team in #2201
Full Changelog: xprof-v2.21.6...xprof-v2.22.0
XProf v2.21.6
What's Changed
- Add view_start/end to shareable Trace Viewer V2 deeplink, allowing for sharing viewport by Profiler Team in #2257
- Add unit tests and refactor trace_events_to_json to use absl::btree_map. by Profiler Team in #2246
- Preserve session parameters in Memory Viewer timeline URL. by Profiler Team in #2236
- Remove trace_viewer_container files from copybara excludes. by Profiler Team in #2269
- Make Emscripten/WASM build support compatible with the trace viewer v2 by Profiler Team in #2256
- Add group preview drawing and separators in Timeline. by Profiler Team in #2264
- Preserve session parameters in Graph Viewer and Overview Page URLs. by Profiler Team in #2238
- Ensure session and run parameters are preserved across tool navigations and link generation. by Profiler Team in #2233
- Fix redundant double data requests on page reload in Overview Page by @muditgokhale2 in #2260
- Refactor ProfileWorkerServiceImpl and improve logging. by @subhamsoni-google in #2244
- Project import generated by Copybara by @h-joo in #2254
- [XProf: trace viewer] Add collapse/expand feature to timeline groups. by Profiler Team in #2251
- Add Emscripten/WASM build support for open-source xprof. by Profiler Team in #2253
- Create docs for Utilization Viewer and Perf Counters tools by @Matt-Hurd in #2248
- Reset tool context on navigation. by Profiler Team in #2235
- Re-enable counter events visibility criteria per zoom level. by Profiler Team in #2234
- Fix multi-host selection persistence in Trace Viewer shared URLs by @muditgokhale2 in #2247
- Implement EventTimeFractionAnalyzerProcessor for Suggestion processing by Profiler Team in #2242
- Add ArrayRecord to Tf.Data's file read categorization. by @bmass02 in #2232
- Stop showing recv-done stats and debug tracks at start-up in megascale perfetto. by @bbadawi1 in #2241
- Implement deep search in trace_viewer v2 UI by Profiler Team in #2218
- Patch the modified Z-Score straggler detection with Minimum Variance Threshold by Profiler Team in #2220
- Fix potential null dereference. by @cliveverghese in #2230
- Add utilization viewer by @cliveverghese in #2229
- Add convert to utilization viewer function from xplane by @cliveverghese in #2228
- Add tpuv7 Utilization Viewer logic by @cliveverghese in #2225
- UI plumbing to add a new button to hlo op profile for viewing reg utilization by Profiler Team in #2108
- Add "Perf Counters" tool to xprof. by @zzzaries in #2219
- Add TPU v7 counter IDs to xprof. by @cliveverghese in #2217
- Update XLA dependency in xprof WORKSPACE.bazel to include xplane_schema changes for perf counter stat. by @zzzaries in #2221
- Implement GetMemoryProfile in ToolDataProviderImpl for smart suggestion by Profiler Team in #2208
- Use the new RBE pool in ml-oss-rbe-general for Windows RBE builds by @nitins17 in #2215
- Add log to time the xplane_to_tools_data_with_profile_processor method by @muditgokhale2 in #2216
- [XProf: trace viewer] Refactor magic numbers in timeline/. by Profiler Team in #2210
- Add event search bar to Trace Viewer v2 by Profiler Team in #2026
- Add Tpu Counter Utility class by @cliveverghese in #2200
- Update benchy test to include larger xplanes by @muditgokhale2 in #2213
Full Changelog: xprof-v2.21.5...xprof-v2.21.6
XProf v2.21.5
What's Changed
- Update XProf version to 2.21.5 by @subhamsoni-google in #2212
- Use xspace from CNS for the benchy test by @muditgokhale2 in #2209
- Change flow line colors to be based on flow category in Trace Viewer 2.0 by Profiler Team in #2160
- Refactor ProfileProcessor-based tool data conversion by Profiler Team in #2199
- Make Megascale Perfetto tool available in OSS xprof. by Profiler Team in #2177
- This change introduces multi-selection for flow event categories in Trace Viewer v2, replacing the single-select dropdown with a multi-select menu. Users can now toggle visibility for multiple flow categories at once. Flow event lines are now colored based on their category for easier identification. by Profiler Team in #2197
- [XProf: trace viewer] Replace polling CanvasState::Update with ResizeObserver. by Profiler Team in #2190
- Implement GetEventTimeFractionAnalyzerResult() in tool_data_provider_impl.h for smart suggestion by Profiler Team in #2187
- Implement cross link functionality with roofline model and stack trace. by Profiler Team in #2014
- Add Tpu Performance Counters for SparseCore and HBM by @cliveverghese in #2192
- [XProf: trace viewer] Clean up Emscripten related code. by Profiler Team in #2193
- [XProf: trace viewer] Support canceling selection with Escape key. by Profiler Team in #2191
- [XProf: trace viewer] Defer data fetching until active interactions (keyboard/mouse) is done. by Profiler Team in #2189
- [XProf: trace viewer] Improve trackpad scrolling and add Shift-key modifier. by Profiler Team in #2188
- [DOCS] Update docker build command by @copybara-github in #2081
- Initial proto for Disaggregared Serving Latency by Profiler Team in #2183
- Refactor ProfilePlugin to support dependency injection. by @subhamsoni-google in #2170
- Remove the disable wrong arg types linter exception by @muditgokhale2 in #2186
- Remove Python 3.9 support from xprof. by @subhamsoni-google in #2181
- Fix text overlap issues in memory_viewer tool by @muditgokhale2 in #2185
- Fix graph viewer loading issue while retain trace viewer loading efficiency with multi-host session. by @zzzaries in #2178
- [Code cleanup] Reorder function definitions in timeline.cc. by Profiler Team in #2180
- [XProf: trace viewer] Switch to Google Sans Code font. by Profiler Team in #2179
- Retrieve and display extra event data by Profiler Team in #2012
- Add build configs for linux aarch64 by @Matt-Hurd in #2175
- Implement GetOpStats() in tool_data_provider_impl.h for smart suggestion by Profiler Team in #2172
- [XProf: trace viewer] Implement Zoom-to-Cursor in v2 by Profiler Team in #2174
- [XProf: trace viewer] Refine fetch resolution and suppression logic. by Profiler Team in #2168
- [XProf: trace viewer] Optimize MaybeRequestData with early exit and zoom fix. by Profiler Team in #2167
- [XProf: trace viewer] Add tolerance to TimeRange::Contains to handle floating point inaccuracies. by Profiler Team in #2161
- Fix the version route API by @muditgokhale2 in #2173
- prioritize the legacy source info now for correctness. by @zzzaries in #2131
- Add SparseCore offload rule to Smart Suggestion. by Profiler Team in #2124
- Add flow category filtering UI to Trace Viewer v2. by Profiler Team in #2147
- Avoid repetitive onPlot call in Graph Viewer. by @zzzaries in #2148
- Improve Graph Viewer functionality with graph type change - should be no-op now as hlo graph is the only graph type. by @zzzaries in #2138
- Added timing logs while saving leveldb files. by Profiler Team in #2149
- [XProf: trace viewer] Change selected time range text color to black. by Profiler Team in #2146
- Refactor SourceCodeService.isAvailable to return an Observable to rely on profiler configuration. by @zzzaries in #2137
- Enable circular buffer tracing for TPU by @sannidhyachauhan in #2105
- Add flow event visualization to Trace Viewer v2. by Profiler Team in #2083
Full Changelog: xprof-v2.21.4...xprof-v2.21.5
XProf v2.21.4
What's Changed
- Update xprof version to 2.21.4 by @subhamsoni-google in #2143
- Wrap diagnostic messages in unordered lists and add styling for scrollable lists. by @zzzaries in #2144
- Update openxla/xla dependency version. by @subhamsoni-google in #2142
- Project import generated by Copybara by Profiler Team in #2140
- Add terminology page by @copybara-github in #2080
- Add GetMemoryProfile to smart suggestion ToolDataProvider interface. by Profiler Team in #2129
- [DOCS] Overview page by @copybara-github in #2077
- Enhance HloModuleUtilsTest to cover multi-level stack frames. by @zzzaries in #2125
- Update EntrySelectedEventDetail to use microsecond-based formatted strings, and remove unnecessary start/end time event detail data by Profiler Team in #2118
- Add Python binding for continuous profiling and snapshot. by @sannidhyachauhan in #2049
- Default to showing all hosts when enabling MPMD Pipeline View. by Profiler Team in #2106
- Revert trace viewer param changes by @muditgokhale2 in #2127
- Update k8s and Docker deployment by @copybara-github in #2086
- Allow loading HLO protos by program ID in addition to module name. by @zzzaries in #2084
- Skip intersecting empty step event sets. by @bmass02 in #2090
- Add Capturing Profiles and individual library guides by @copybara-github in #2052
- Enhance Trace Viewer v2 drawer to display event start time and duration. by Profiler Team in #2011
- [XProf: trace viewer] Add loading status updates to Trace Viewer V2 incremental loading. by Profiler Team in #2111
- [XProf: trace viewer] Preserve the visible time range by Profiler Team in #2110
- [XProf: trace viewer] Allow setting the initial visible time range from URL parameters. by Profiler Team in #2107
- [XProf: trace viewer] Add event listener to handle data re-fetching in Trace Viewer V2. by Profiler Team in #2089
- [XProf: trace viewer] Rename data_time_range_ to fetched_data_time_range_. by Profiler Team in #2092
- [XProf: trace viewer] Adjust horizontal separator line start position in Trace Viewer. by Profiler Team in #2113
- [XProf: trace viewer] Update mouse cursor for delete button in selected time range by Profiler Team in #2095
- [XProf: trace viewer] Add a close button to selected time ranges in the timeline. by Profiler Team in #2094
- Add MPMD Pipeline View toggle and process sorting in Trace Viewer V2. by Profiler Team in #2071
- Propagate session_path and run_path in DataServiceV2 to all API calls by Profiler Team in #2078
- The BufferDetails component now uses the injected DataServiceV2Interface to generate the graph viewer link. Tests are updated to provide a mock for DATA_SERVICE_INTERFACE_TOKEN. by Profiler Team in #2103
- Add unit tests for stub_factory. by @subhamsoni-google in #2100
- Add multi-threading to trace viewer Reduce by @muditgokhale2 in #2096
- Cost Accumulation Updates For Custom Call by Profiler Team in #2097
- Fix negative resolution calculation in tf-trace-viewer when clientWidth is 0 by @subhamsoni-google in #2087
- Removes the ImGui-based loading indicator within the WASM module by Profiler Team in #2037
- Add OpProfile data fetching to smart suggestion ToolDataProvider interface. by Profiler Team in #2065
- Add support in trace_viewer to leverage the aggregator-worker setup by @muditgokhale2 in #1963
- [XProf: trace viewer] Add resolution parameter to trace viewer data requests. by Profiler Team in #2082
- Add warning tooltip to common for use across modules. by Profiler Team in #2074
- Implement Straggler detection in barrier-cores rule using Modified Z-Score method. by Profiler Team in #2054
- Disable MPMD pipeline view button by Profiler Team in #2072
- Standardize import guards, visibility, imports by @Matt-Hurd in #1980
- reproduce bug which introduces syntax not present in 3.9 by @subhamsoni-google in #2062
- Include per-host event fraction for each step in
EventTimeFractionAnalyzerproto. by Profiler Team in #2042 - Remove window.open and use windowOpen directly by @zzzaries in #1967
- Allow selecting host in Megascale Perfetto tool. by Profiler Team in #2036
- Add hover tooltip and marker to counter tracks. by Profiler Team in #2043
- Updates to the run environment data processing in op stats. No-op for now. by @zzzaries in #2050
- Add support for Counter event in Trace Viewer v2. (2/2) by Profiler Team in #2041
- Add support for Counter events in Trace Viewer v2. (1/2) by Profiler Team in #2040
- Add a benchy benchmark for the ConvertXSpaceToOpStats function by @muditgokhale2 in #2030
- Integrate SparseCore offloading metadata into grouping logic to accurately group SparseCore execution with TensorCore. by @bmass02 in #1981
- Project import generated by Copybara by @cliveverghese in #2038
- Added unit test for the type change of OpSourceInfo::source_file from string_view to std::string which was done to avoid dangling references potentially avoiding use-after-free crashes. by Profiler Team in #2029
- Add scrollbar in the trace viewer timeline tracks. by Profiler Team in #2032
- Use XLA's
ComputeTotalAllocationBytesin xprof. by @zacmustin in #2009 - Remove unnecessary log statement. by @subhamsoni-google in #2028
- Deprecate usage of op.metadata.source_file and source_line according to xla changes. by @zzzaries in #2024
- Move smart suggestion thresholds used by rules to constants.h. by Profiler Team in #1999
- Implemented SS data shuffle bound rule that checks the average time percentage spent on collective operators. by Profiler Team in #1990
- Hide capture button from empty page for fully managed by @muditgokhale2 in #1996
- Refine the logic for selecting off-screen time range drawing. by Profiler Team in #2007
- Move selected time range drawing to be under 'tooltip' by Profiler Team in #1987
- Add re2 dependency to WORKSPACE.bazel and update xprof copy.bara.sky to handle re2 for OSS builds. by Profiler Team in #2005
- Deprecate usage of op.metadata.source_file and source_line according to xla changes. by @zzzaries in #1992
- Fix unused and missing include in barrier_cores_rule by Profiler Team in #1991
- Update openxla/xla dependency in WORKSPACE.bazel. by @subhamsoni-google in #1995
- Use tsl::Stat to calculate average event time fraction. by Profiler Team in #1988
- Implemented SS collective bound rule that checks the average time percentage spent on collective operators. by Profiler Team in #1985
- Add the time measurement feature (1/4) by Profiler Team in #1968
Full Changelog: xprof-v2.21.3...xprof-v2.21.4
XProf v2.21.3
What's Changed
- Update xprof version to 2.21.3 by @subhamsoni-google in #1984
- Support For Pallas Kernel Cost Analysis by Profiler Team in #1936
Full Changelog: xprof-v2.21.2...xprof-v2.21.3
XProf v2.21.2
What's Changed
- Update xprof version to 2.21.2 by @subhamsoni-google in #1962
- Add all_hosts information to the session_snapshot and move the device collision logic for trace_viewer to CreateTraceEventsContainer. by @muditgokhale2 in #1974
- Add all_hosts information to the session_snapshot and move the device collision logic for trace_viewer to CreateTraceEventsContainer. by @muditgokhale2 in #1959
- Project import generated by Copybara by Profiler Team in #1966
- Extract SourceInfoFormattedText to a shared utility. by @zzzaries in #1954
- Project import generated by Copybara by Profiler Team in #1964
- Project import generated by Copybara by Profiler Team in #1961
- Project import generated by Copybara by Profiler Team in #1960
- Use py::isinstance for type checking in ToolOptions conversion. by @Matt-Hurd in #1952
- Update GPU Kernel Stats Column Name by @Becker-ZH in #1942
- Switch the stack-trace-snippet element the source-info element in trace viewer and graph viewer. by @zzzaries in #1948
- Pass session_path to runs, run_tools, hosts and data third party Xprof API requests by Profiler Team in #1934
- Unregister SparseCoreBoundRule from Smart suggestion rules by Profiler Team in #1951
- Add dvfs time scale multiplier processing logic for roofline model. by @zzzaries in #1828
- Add unoptimized hlo processing capability in source mapper. by @zzzaries in #1946
- Refractor GetCustomCallText function to accept mlir::Context as parameter. by @cliveverghese in #1941
- Move event_time_fraction_analyzer proto to OSS by Profiler Team in #1937
- Cache and reuse barrier-cores rule results from
MeetsConditionsinGenerateSuggestion. by Profiler Team in #1938 - Change buffer allocation color to white in memory visualization to set the background as white. by @zzzaries in #1935
- Add worker ID to responses and configure gRPC channels for retries and load balancing. by @subhamsoni-google in #1884
- Refactor SS rule unit tests with MockToolDataProvider by Profiler Team in #1926
- Add a graphType parameter to downloadHloProto and related frontend components to support requesting different HLO graphs. by Profiler Team in #1833
- Re-order tools based on most common usage patterns by @Matt-Hurd in #1921
- Project import generated by Copybara by Profiler Team in #1924
- Fix indentation in README.md. by @subhamsoni-google in #1918
- Add all_hosts information to the session_snapshot and move the device collision logic for trace_viewer to CreateTraceEventsContainer. by @Matt-Hurd in #1922
- Add documentation for distributed XProf deployment and Kubernetes setup. by @subhamsoni-google in #1910
- Add all_hosts information to the session_snapshot and move the device collision logic for trace_viewer to CreateTraceEventsContainer. by @muditgokhale2 in #1853
- Remove the backend button from TraceViewer. by Profiler Team in #1914
- Remove InputBoundRule and refactor input-bound check into SignalProvider. by Profiler Team in #1917
- Project import generated by Copybara by Profiler Team in #1916
- Add multi-threading to conversion of xspaces to inference stats by @muditgokhale2 in #1912
- Replace deprecated integral type limits with
std::numeric_limits. by @majnemer in #1898 - Project import generated by Copybara by Profiler Team in #1911
- Project import generated by Copybara by Profiler Team in #1904
- Bug fixes to enable device loop for step tracking by Profiler Team in #1822
Full Changelog: xprof-v2.21.1...xprof-v2.21.2
XProf v2.21.1
What's Changed
- Update xprof version to 2.21.1. by @Matt-Hurd in #1899
- Automatically select the single available host when no host is specified. by @Matt-Hurd in #1892
- Add a new data service interface for getting source info for pallas call, not implemented yet, thus no-op. by @zzzaries in #1878
Full Changelog: xprof-v2.21.0...xprof-v2.21.1
XProf v2.21.0
What's Changed
- Change session variable to session_path by @muditgokhale2 in #1883
- Documentation review by @melissawm and @pavithraes in #1451
Full Changelog: xprof-v2.20.9...xprof-v2.21.0
XProf v2.20.9
What's Changed
- Update XLA dependency in WORKSPACE.bazel and release new version by @Matt-Hurd in #1873
Full Changelog: xprof-v2.20.8...xprof-v2.20.9
XProf v2.20.8
What's Changed
- Update version to 2.20.8. by @Matt-Hurd in #1865
- Support lazy fetching for trace_events and functionality to support trace_events searching in streaming_trace_viewer_processor by @muditgokhale2 in #1855
- Add store management support for session tags. by @zzzaries in #1866
- Refactored HloProtoMap::contains into ContainsOptimizedModule and ContainsOriginalModule to clearly distinguish between optimized and original HLO module lookups. in #1784
- Rename "Runs" to "Sessions" in the sidenav in #1858
- Replaces the use of RemapInstructionIds with HloModule::CreateFromProto without preserving unique id in xprof. in #1856
- Add MatButtonModule to SideNavModule. by @muditgokhale2 in #1860
- Extends stack-trace-snippet components to source mapper components. by @zzzaries in #1848
- This change includes the BSD-style license for
plugin/third_party/webcomponentsjs/webcomponents.jswithin the xprof LICENSE file. by @zzzaries in #1854 - Add a submit button to the hosts sidenav for trace_viewer by @muditgokhale2 in #1851
- Refactor original/unoptimized xla::HloModuleProto --> xla::HloProto instances in #1838
- Add Memory Bound rule in #1852
- Add multi-threading support to the processing of tensor core planes. by @muditgokhale2 in #1809
- Add double counter event support trace viewer. in #1842
- Store trace event args for Cost Model Flop Counter event as part of the main trace events file. in #1845
- Load highlightjs stylesheets only once in index.html by @zzzaries in #1841
- Create Utilization Component in xprof frontend. in #1811
- Created MemoryViewerOption for memory viewer data processing consolidation by @zzzaries in #1770
- Enable
module_namequery parameter for Memory Viewer. by @zzzaries in #1823 - Add Perf Counters tool to Xprof frontend. in #1818
- Fix input pipeline analysis's device side input wait time chart. by @bmass02 in #1825
- Filter out pstate events with invalid arguments in trace viewer JSON. in #1832
- Project import generated by Copybara in #1813
Full Changelog: xprof-v2.20.7...xprof-v2.20.8