Files
rocm-systems/projects/rocprofiler-compute/pyproject.toml
T
ggottipa-amd 77f7541755 [rocprofiler-compute] Adding --torch-trace option for SWDEV-559789 (#2089)
* Adding --torch-operator option in rocprof-compute. Creates csv file for
each operator that has gpu activity, showing operator to counter values
mapping.

* --torch-operators flag added to rocprofiler-sdk

* Adding ctest for --torch-operators.

* Adding pytest markers.

* Corrections in ctest and message logging.

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Adding a check for pytorch installation only when --torch-operators is passed.

* moving inject_roctx.py into src/utils.

* rebase

* Updating docs and changelog.

* Update projects/rocprofiler-compute/src/argparser.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update projects/rocprofiler-compute/src/utils/inject_roctx.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Removing special characters.

* Minor corrections.

* Setting default value for torch_operators_enabled.

* Updating the number of files according to the number of passes.

* Adding rocpd support.

* Adding a warning message to be shown when profiling a non-python workload.

* copilot suggestions, rocpd+native tool fix

* Fixed the incorrect usage of dispatch_id as event_id in the function update_rocpd_pmc_events()

* ruff format fix

* ruff formating

* Deleting torch_trace.csvs after consolidating the operator data.

* Removing checks since *torch_trace.csv files are deleted.

* Fixing file deletion.

* Update projects/rocprofiler-compute/src/utils/inject_roctx.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update projects/rocprofiler-compute/src/rocprof_compute_profile/profiler_base.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update projects/rocprofiler-compute/src/utils/utils.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update projects/rocprofiler-compute/tests/test_profile_general.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Using default options in the testcase.

* Adding test for overhead measurement.

* Corrections in docs.

* doc updates.

* Update projects/rocprofiler-compute/src/utils/inject_roctx.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Handling potential empty frames.

* Corrected the test cases.

* Changing the flag to --torch-trace

* Fixed helper_app path issues

* Path issues

* process_torch_trace_output() now takes csv file paths as input + allows default usage.

* Replaced pandas with sqlite3

* Adding marker_trace extraction to rocpd_data.py

* Allowing all workloads to use --torch-trace option. Assuming the workload is user verified.

* Modified help section for the flag.

* Added difference in runtimes for longest running kernels in each profiling runs to overhead measurements.

* Update projects/rocprofiler-compute/src/rocprof_compute_profile/profiler_base.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update projects/rocprofiler-compute/src/rocprof_compute_profile/profiler_base.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Removed the accesses to the tables.

* Ruff fixes.

* ruff

* Ruff Fixes

* Adding getattr for args.torch_trace to handle mock args.

* Fix for 'Missing guid in counter collection data - in csv mode'

* Sending output_format to process_torch_trace_output

* Warning for self contained binaries.

* Ruff

* Ruff

* Measuring longest_running_kernel_baseline instead of worst_kernel_increase, very small kernel runtimes are blowing up the worst_kernel_increase metric.

* Minor fixes in input arguments

* Ruff

* Loging PyTorch version

* Fix ruff formatting for PyTorch version logging

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 19:50:25 +05:30

116 خطوط
2.6 KiB
TOML

[project]
name = "rocprof_compute"
requires-python = ">=3.9"
[project.optional-dependencies]
developer = [
"ruff>=0.12.7",
"pre-commit",
]
[tool.ruff]
line-length = 88
# Ruff's default excludes cover: .bzr, .direnv, .eggs, .git, .git-rewrite, .hg, .ipynb_checkpoints,
# .mypy_cache, .nox, .pants.d, .pyenv, .pytest_cache, .pytype, .ruff_cache, .svn,
# .tox, .venv, .vscode, __pypackages__, _build, buck-out, build, dist, node_modules,
# site-packages, venv
extend-exclude = [
".github",
".misc",
"external",
"build-rocprof_compute",
"src/rocprof_compute_analyze/analysis_db.py",
"src/rocprof_compute_tui/widgets/splitter.py"
]
[tool.ruff.lint]
# Enable Pyflakes (F), pycodestyle (E, W for PEP8), aisort (I),
# type annotation (ANN), and f-string (UP) rules.
select = ["E", "W", "F", "I", "ANN", "UP", "PTH"]
ignore = ["E713", "E711", "UP045", "PTH123", "PTH207"]
fixable = ["ALL"]
unfixable = []
[tool.ruff.lint.per-file-ignores]
# Ignore ANN and UP rules for all files except those in src/
"!src/**" = ["ANN", "UP", "PTH"]
[tool.ruff.lint.flake8-annotations]
allow-star-arg-any = true #allow Any for *args
ignore-fully-untyped = false #require type annotations
suppress-dummy-args = true #don't require annotation for "_" arguments
suppress-none-returning = false #require explicit None return types
[tool.ruff.format]
preview = true
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "space"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
docstring-code-format = true
docstring-code-line-length = "dynamic"
[tool.pytest.ini_options]
addopts = [
"--import-mode=importlib",
]
pythonpath = [
".",
"src",
"src/rocprof_compute_soc",
"src/utils",
"src/rocprof_compute_analyze/utils",
"tests"
]
markers = [
"section",
"kernel_execution",
"misc",
"mem",
"sort",
"join",
"verbosity",
"dispatch",
"list_metrics",
"filter_block",
"filter_kernel",
"dispatch",
"normal_unit",
"max_stat",
"time_unit",
"decimal",
"col",
"kernel_verbose",
"serial",
"L1_cache",
"num_xcds_spec_class",
"num_xcds_cli_output",
"sets_func",
"sets_perf",
"pc_sampling",
"live_attach_detach",
"roofline_1",
"roofline_2",
"path",
"sci_notion",
"iteration_multiplexing_1",
"iteration_multiplexing_2",
"iteration_multiplexing_stochastic",
"noise_clamp",
"torch_ops",
]