Grafico dei commit

69 Commit

Autore SHA1 Messaggio Data
Ammar ELWazir 2a9700fcd7 [ROCProfiler-Register/Systems/Compute] Fixing License file name usage (#927)
ROCProfiler-Register/Systems/Compute: The license file name in the CMake install module and other locations was originally LICENSE, but it was recently changed to LICENSE.md, requiring an update to the CMake install module and all other relevant locations.
2025-09-10 15:46:39 -04:00
vedithal-amd 85a557673d Handle mutually exclusive report section filters (#710)
* Make --roof-only, --block and --set mutually exclusive from each other

* Update help output and documentation
  * Add sanitize function for checking profiler options

* Update filter blocks arguments when --set or --roof-only is provided

* Update filter_blocks in profiling_config.yaml based on --set option
  * Log Filtered Sections instead of Report Sections and Set Selection

* Move soc class function calls from rocprof compute base class to profiler base class

* Fix bug in panel level filtering using --filter-block option

* Remove roofline specific pmc files

* Move microbenchmark entry point from gfx specific soc class to base soc class

* Run microbenchmarks only if block 4 is selected or roof only is selected; skip for mi100
2025-09-09 17:48:20 -04:00
systems-assistant[bot] d58adf96da [DOC] TUI kernel selection (#94) 2025-09-08 13:52:39 -04:00
abchoudh-amd 682ae2d014 Streamline --list-metrics command line option in rocprof-compute (#310)
* Remove L2 channels from --list-metrics

--list-metrics moved to general options

List metrics for the current architecture

Filter blocks for metrics

Removed test for --list-metrics in profile mode

Test the options don't throw error

Fixed --config-dir error

Test stdout for command line options

Provide path list for loading panel configs

Show L2 Cache (per) channel metrics

Changed command line option names

Can show two levels only

Removed filtering blocks

Moved blocks to original position

Removed filter block tests

Removed filtering

Formaating fix

Readability enhancement

Test formatting

Filter L2 channels without sysinfo

Show avilable metrics for current arch

Intermediate commit

Fixed tests

Added argument sanitization

Added list_metrics to ctest

merge iconflict resolution

Updated test marker

Updated changelog

Fixed formatting

* Updated docs
2025-09-08 20:21:46 +05:30
cfallows-amd c68ba44e72 Add single kernel filtering to roofline plots (#757)
* Add single kernel filtering for roofline
* Add --kernel to documentation
* Add kernel labels to roofline pdfs

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Add test cases

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Add autodetect for mode (profile or analyze) during roof validate and filter
Prevent --kernel from affecting roofline in gui mode- although this may be broken in develop branch anyways

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Add note about roof-only usage checking for existing profiling files in the dir. If roof-only is not provided, rocprof-compute currently assumes it has to profile in full regardless. Will look into this another day.

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Update CHANGELOG.md

Add line in resolved issues section to highlight that kernel filtering is now working for roofline plots

* Apply changes suggested by docs team

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

* Update projects/rocprofiler-compute/CHANGELOG.md

Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>
2025-08-27 13:41:07 -04:00
Pratik Basyal cfd3fee0e2 ROCm Compute Profiler changelog for 7.0 updated (#740)
* ROCm Compute Profiler changelog for 7.0 updated

* Roofline limited support for MI350 removed

* Update CHANGELOG.md
2025-08-27 11:24:49 -04:00
vedithal-amd 323d06c79c [rocprofiler-compute] Add database output format to analyze mode (#748)
Analysis data dump

* Add `--output-format` and `--output-name` option to analyze mode

* Remove `--output` and `-save-dfs` option to analyze mode

* Add documentation on `rocpd` output format and analysis database file

* Create sqlite3 database using object relation mapping (ORM) provided
  by sqlalchemy library

* Fix metrics config to remove metrics marked as `null`, fix `Unit` header, add
  missing `title`

* Add test cases to ensure analysis data dump work
2025-08-26 14:15:05 -04:00
xuchen-amd 5c8b34ddf5 [rocprofiler-compute][TUI] Add interactive metric description (#718) 2025-08-25 15:53:55 -04:00
jamessiddeley-amd 5840940caa [rocprof-compute] Generalize Roofline (#325)
* per kernel analysis Roofline

* added per-kernel eval_metric calculation with display

* fixed typo

* updated tty.py show_all()

* formatting

* fixed ctest failures and updated equations

* formatting

* updated metric descriptoins

* review tweaks

* update docs

* added roofline gui analysis

* updated GUI docs

* updated print statement

* comment tweaks and ran ruff formatting
2025-08-20 09:58:08 -04:00
jamessiddeley-amd 2936a468aa [rocprof-compute] updated formatting workflow and docs (#348)
* updated formatting workflow and docs

* restored requirements.txt
2025-08-14 14:12:24 -04:00
systems-assistant[bot] 58d2a016ce Format source code to PEP8 using Ruff (#36)
* added ruff docs

* style: Run ruff and black before yapf pass

* yapf -r -i (23 fixes)

* fixed conf.py and ran ruff format .

* fixed conf.py 2

* formatted argparser.py

* formatted src/rocprof_compute_analyze

* formatted src/rocprof_compute_profile

* formatted soc_base.py

* formatted rocprof_compute_tui

* formatted gui_components

* formatted src/utils

* formatted tests/

* format extra files

* cleanup

* fix test_utils.py

* fixed typos

* Update pyproject.toml

* Update README.md

* Update test_utils.py

---------

Signed-off-by: jamessiddeley-amd <James.Siddeley@amd.com>
Co-authored-by: James Siddeley <James.Siddeley@amd.com>
Co-authored-by: systems-assistant[bot] <systems-assistant[bot]@users.noreply.github.com>
2025-08-08 15:32:30 -04:00
systems-assistant[bot] 89c74ac3d3 Update Unit of Bandwidth metrics to Gbps (#96)
* Add Utilization to metric name for Bandwidth related metrics whose Unit
  is Percent

* Update Unit of Bandwidth metrics to Gbps
    * Update metric Formula to use total duration as denominator instead of normalization unit.
    * Update metric Description
    * Update metric Unit

* Update CHANGELOG
2025-08-06 18:39:50 -04:00
vedithal-amd 30c32c0bd1 Fix L2 cache bandwidth metrics for MI350 (#843)
* Fix L2 cache bandwidth metrics for MI350

* Address review comments

[ROCm/rocprofiler-compute commit: b349e406ed]
2025-08-01 14:00:46 -04:00
vedithal-amd 457b00ca12 Fix metrics description (#853)
* Fix ordering of metrics description

[ROCm/rocprofiler-compute commit: 6902b12e65]
2025-08-01 13:56:29 -04:00
vedithal-amd 2cd1df0db7 Remove duplicate metric descriptions from documentation (#852)
[ROCm/rocprofiler-compute commit: d84863b7af]
2025-08-01 13:33:58 -04:00
Fei Zheng 7a4d187f40 update license files (#849)
[ROCm/rocprofiler-compute commit: 0d6e172679]
2025-08-01 10:14:39 -06:00
xuchen-amd b6a7d72212 TUI: Kernel Selection (#769)
[ROCm/rocprofiler-compute commit: 9ddee8de2e]
2025-08-01 11:31:43 -04:00
Fei Zheng 666f00a07f Format code (#842)
[ROCm/rocprofiler-compute commit: 6cbda3f1d8]
2025-07-31 08:20:49 -06:00
dependabot[bot] deefddf2ff Bump rocm-docs-core from 1.21.1 to 1.22.0 in /docs/sphinx (#839)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.21.1 to 1.22.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.21.1...v1.22.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-version: 1.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: vedithal-amd <Vignesh.Edithal@amd.com>

[ROCm/rocprofiler-compute commit: c7b5a0f43a]
2025-07-30 14:35:32 -04:00
vedithal-amd 354fe5f52c Unified configuration for metrics (#726)
* Show description of metrics during analysis
    * Use --include-cols Description show the Description column in analyze mode (this is hidden by default)
    * Remove tips field from analysis config

* Align metric names in analysis config and documentation

* Add unified config utils/unified_config.yaml

* Add python script utils/split_config.py to auto generate analysis configuration and documentation metrics description
   * Add test case to ensure unified config is older than auto-generated config
   * Auto generate analysis config and documentation metrics description

* Update CONTRIBUTING.md to add instructions to build documentation assets
    * Add docker image and compose file to build documentation

* Update CHANGELOG and Documentation

* Use jinja template instead of hardcoding metric tables in documentation

[ROCm/rocprofiler-compute commit: bb44e90b2d]
2025-07-25 14:01:34 -04:00
vedithal-amd d9da3feadf Improve block filtering to accept metric ids (#821)
* Fix tests
* Update CHANGELOG and documentation

[ROCm/rocprofiler-compute commit: a70ae40ddc]
2025-07-23 16:16:29 -04:00
cfallows-amd f6f3a6ed3e Update standalone roofline intro (#830)
[ROCm/rocprofiler-compute commit: 2a7bbc4cc2]
2025-07-23 15:17:00 -04:00
vedithal-amd 46ae3d36d9 Remove hardware IP block based filtering (#820)
* Analysis report block based filtering is the default now

* Update documentation

* Update CHANGELOG

* Fix tests
    * Replace hardware block based filtering tests with report block
      based filtering tests

[ROCm/rocprofiler-compute commit: 98bb0f4237]
2025-07-21 09:37:35 -04:00
Pratik Basyal 7c228474ac Minor editorial changes data type selection feature (#816)
[ROCm/rocprofiler-compute commit: 24c27462d7]
2025-07-16 12:39:24 -04:00
Pratik Basyal ce3d76674a Architecture data support and diagrams added (#814)
* Architeture data support and diagrams added

* Architecture image added

* CDNA4 Image updated

* Review feedback incorporated

* CDNA 4 partition mode added

* Fei review feedback incorporated

[ROCm/rocprofiler-compute commit: 8099fd352e]
2025-07-16 10:40:11 -04:00
xuchen-amd a91363744c Update TUI docs. (#796)
[ROCm/rocprofiler-compute commit: bfb2dc0795]
2025-07-15 11:13:24 -04:00
Fei Zheng e0ba0631b0 Update cli doc description (#804)
[ROCm/rocprofiler-compute commit: 5b8d12fde2]
2025-07-14 13:05:01 -06:00
Fei Zheng 769caa3124 Update PC sampling doc (#798)
[ROCm/rocprofiler-compute commit: 78c1898ba0]
2025-07-14 13:04:14 -06:00
Pratik Basyal 2cfcd9baab roofline footnote updated (#808)
[ROCm/rocprofiler-compute commit: 81d95d8e4a]
2025-07-14 13:27:43 -04:00
Fei Zheng 2ffaf5b453 Documentation update for FP8 on MI300 (#766)
[ROCm/rocprofiler-compute commit: f5bc717fe1]
2025-06-26 13:35:36 -06:00
cfallows-amd 429b17a1e0 Add roofline PDF output to general profiling runs (#774)
Change when Roofline PDFs are generated- during general profiling and --roof-only profiling (skip only when --no-roof option is present)

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: 630bc149ff]
2025-06-25 01:19:28 -04:00
dependabot[bot] 8c3c708eef Bump rocm-docs-core from 1.18.2 to 1.21.1 in /docs/sphinx (#775)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.18.2 to 1.21.1.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.18.2...v1.21.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-version: 1.21.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-compute commit: 181e4f44c7]
2025-06-24 21:04:16 -04:00
vedithal-amd 89bc1fc812 Change default rocprof to rocprofv3 (#748)
* Revert of https://github.com/ROCm/rocprofiler-compute/pull/738

* Change default rocprof backend interface to rocprofv3

* Add MI 350 support in documentation

* Added known issue that MI 100 profiling will not work unless rocprofv1
  is explicitly opted in

* Remove MI 50 soc gfx python class since MI 50 is not supported

[ROCm/rocprofiler-compute commit: d27ee69b52]
2025-06-12 15:45:11 -04:00
vedithal-amd 9e743cdff2 Remove rocscope related code and add deprecation warning for mongo db usecase (#744)
* Remove rocscope related code

* Add deprecation warning for database update mode which is used for grafana and mongodb functionality

[ROCm/rocprofiler-compute commit: cdd41dee40]
2025-06-12 14:21:24 -04:00
Pratik Basyal 1440fe180c Formatting issue in code block and TOC fixed for PC Sampling (#731)
* Formatting issue in code block and TOC fixed

* Performance model reverted

[ROCm/rocprofiler-compute commit: ed05c00103]
2025-06-06 16:16:55 -04:00
Fei Zheng 243aa68712 Support stochastic pc sampling
[ROCm/rocprofiler-compute commit: d756aeb3fd]
2025-06-06 12:43:52 -06:00
anisha-amd 27f5e06dd2 adding L2 model with updated legend and removal of large images (#718)
* adding L2 model with updated legend and removal of large images

* changed image name to perf_model

[ROCm/rocprofiler-compute commit: 783193c75f]
2025-05-28 14:03:47 -04:00
cfallows-amd c8d67fc97e Enable roofline for MI350 series (#677)
Rework of roofline binaries generated from rocm-amdgpu-bench
- removed arch identifier in bin name
- removed rocm5 bins altogether

Updated required distros for roofline
- updated distro checks and bin naming
- moved up ubuntu20.04->22.04 and sles15.3->15.6 per rocm support

Enabled ctests for mi350 for test_roof_*
- removed mi350 series check to skip these specific tests

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: 41e73650d5]
2025-04-28 16:08:23 -04:00
dependabot[bot] b2217a4957 Bump rocm-docs-core from 1.18.1 to 1.18.2 in /docs/sphinx (#657)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.18.1 to 1.18.2.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.18.1...v1.18.2)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-compute commit: 550212a886]
2025-04-08 17:09:01 -06:00
Pratik Basyal 7115d36ceb Broken link and reference text updated (#664)
[ROCm/rocprofiler-compute commit: 3b67a00bc9]
2025-04-08 12:44:09 -04:00
cfallows-amd 04919c13e0 Fixes for roofline datatype plot outputs (#659)
Profile mode:
Fix roofline plots for datatypes that have peakVALU only. Check for highest roofline to plot the bandwidth lines to proper height, don't rely on existence of peakMFMA for every datatype.
Analyze mode:
Add roofline-data-type option for viewing pdfs in standalone gui. Default is same as profile mode, FP32.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: c45e20f325]
2025-04-07 12:10:37 -04:00
cfallows-amd 5079a1803f Datatype selection option for roofline (#624)
Added command line option to specify which datatype(s) to capture into the roofline PDF(s).
All datatypes are still collected by roofline call if applicable, but only specific datatypes are plotted into PDF outputs. Will dump out all datatypes into one graph, but separate FP from Int into two graphs if needed. Will skip datatype and give error message if the datatype is not valid on a particular gpu arch.
Default is FP32

Reworked roofline calls and plotting to be general enough such that any new datatypes added into rocm-amdgpu-bench can easily be reflected in rocprof-compute with simple modifications in roofline_calc.py.

Adjusted ctest to reflect expected default pdf outputs from roofline.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: a492e92034]
2025-03-25 15:02:09 -04:00
dependabot[bot] bfce7de3ad Bump rocm-docs-core from 1.17.0 to 1.18.1 in /docs/sphinx (#611)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.17.0 to 1.18.1.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.17.0...v1.18.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-compute commit: ebb21c4bba]
2025-03-21 17:16:51 -06:00
vedithal-amd 7968645191 Analysis report block based filtering for profiling (#566)
* Analysis report block based filtering for profiling

* Profiling mode changes

- `-b` option now additionally accepts metric id(s), similar to `-b` option in analyze mode (e.g. 6, 6.2, 6.23)
    - Only counters mentioned in the selected analysis report blocks will be collected
        - Add parsing logic to identify hardware counters from analysis report blocks
        - Add filtering logic to only write filtered counters in perfmon files
        - Log not collected counters in one line
- `--list-metrics` option added in profile mode to list possible metric id(s) similar to analyze mode
- Write arguments provided during profiling in profiling_configuration.yaml file

* Analysis mode changes

- During analysis mode, only show report blocks selected during profiling
    - If `-b` option is provided in analysis mode, then follow provided filters
- Do not show empty tables in analysis report

* Miscellaneous changes

- Update CHANGELOG
- Add test cases
    - Instruction mix report block filter
    - Instruction mix and Memory chart report block filter
    - Instruction mix report block filter and CPC hardware block filter
    - TA hardware block filter
    - --list-metrics in profile mode should work
- Move binary handler fixtures to conftest.py to avoid importing
  fixtures
- cmake file in tests directory has been updated to compile sample/vmem.hip for testing

* Public documentation changes

- Use the term "Hardware report block" instead of "Hardware block"
- Add documentation for "--list-metrics" option in profile mode
- Add example of filtering by hardware report block such as instruction
  mix and wavefront launch statistics
- Add deprecation warning for hardware component (sq, tcc) based filtering

[ROCm/rocprofiler-compute commit: 55cf0e237e]
2025-03-10 14:42:56 -04:00
Peter Park 3335ea5f21 Fix name in package manager install docs (#593)
* Fix post analysis gui in standalone binary (#591)

* Fix post analysis gui in standalone binary

* Add post analysis gui assets and required server libraries for GUI
  server and web page

* Add port forwarding to docker test compose

* Update README me to use `docker compose up` instead of `docker compose run`
  to run containers with port forwarding and to leverage other
  functionalities of docker compose

* Fix rocprofv1 output processing. (#588)

* fix rocprof-compute binary name in package manager install docs

---------

Co-authored-by: vedithal-amd <Vignesh.Edithal@amd.com>
Co-authored-by: xuchen-amd <xuchen@amd.com>

[ROCm/rocprofiler-compute commit: 0aefd15b7b]
2025-03-10 13:47:30 -04:00
cfallows-amd 54ec17a185 FP8 roofline support (#592)
Adding FP8 datatype to roofline feature in rocprof-compute on MI300-based systems.
FP8 now shows in terminal output and roofline csv, and outputs a standalone PDF.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>

[ROCm/rocprofiler-compute commit: 848fa1dc18]
2025-03-07 11:27:01 -05:00
dependabot[bot] 254592953c Bump rocm-docs-core from 1.15.0 to 1.17.0 in /docs/sphinx (#572)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.15.0 to 1.17.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.15.0...v1.17.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-compute commit: 3b78dc9177]
2025-02-28 16:34:11 -07:00
Peter Park a36e280903 Fix links in docs (#564)
[ROCm/rocprofiler-compute commit: 9643afa62d]
2025-02-13 16:24:48 -05:00
cfallows-amd 611704d825 Update CHANGELOG and docs
[ROCm/rocprofiler-compute commit: c03cbf2389]
2025-02-11 10:46:33 -07:00
dependabot[bot] bdd0bd0955 Bump rocm-docs-core from 1.14.1 to 1.15.0 in /docs/sphinx (#547)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.14.1 to 1.15.0.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.14.1...v1.15.0)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[ROCm/rocprofiler-compute commit: 95b600ea58]
2025-01-30 17:25:46 -07:00