mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-03-21 07:37:38 +00:00
Add multi-file trace parsing and analysis pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extends build time analysis from ROCm/composable_kernel#3644 to handle multiple trace files across build directories (see #4229): - pipeline.py: Generic pipeline framework with fluent interface for composable data processing. Provides parallel processing, progress tracking, and error handling independent of trace-specific code. Processes thousands of trace files at default resolution in minutes, aggregating results into in-memory DataFrames for analysis. - parse_build.py: Parse all trace files in a build directory - build_analysis_example.ipynb: Demonstrates pipeline aggregation across all build files The pipeline design improves capability (composable operations), performance (parallel processing), and user-friendliness (fluent API) of the analysis modules. It enables analyzing compilation patterns across the entire codebase with all trace data available in pandas DataFrames for interactive exploration.
54 lines
1.0 KiB
Python
54 lines
1.0 KiB
Python
# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
"""
|
|
Build Trace Analysis - Core library for analyzing Clang -ftime-trace data.
|
|
|
|
This package provides tools to parse and analyze Clang's -ftime-trace JSON output
|
|
for build performance analysis.
|
|
"""
|
|
|
|
from .parse_file import (
|
|
parse_file,
|
|
get_metadata,
|
|
)
|
|
|
|
from .template_analysis import (
|
|
get_template_instantiation_events,
|
|
)
|
|
|
|
from .phase_breakdown import (
|
|
get_phase_breakdown,
|
|
PhaseBreakdown,
|
|
)
|
|
|
|
from .parse_build import (
|
|
find_trace_files,
|
|
read_trace_files,
|
|
)
|
|
|
|
from .pipeline import (
|
|
Pipeline,
|
|
)
|
|
|
|
from .build_helpers import (
|
|
get_trace_file,
|
|
)
|
|
|
|
__all__ = [
|
|
# Core parsing and filtering
|
|
"parse_file",
|
|
"get_metadata",
|
|
"find_trace_files",
|
|
"read_trace_files",
|
|
# Pipeline processing
|
|
"Pipeline",
|
|
# Template analysis
|
|
"get_template_instantiation_events",
|
|
# Phase breakdown
|
|
"get_phase_breakdown",
|
|
"PhaseBreakdown",
|
|
# Build helpers
|
|
"get_trace_file",
|
|
]
|