Commit Graph
727 Commits
Author SHA1 Message Date
vedithal-amd 181bdf9ca1 [rocprofiler-compute] Fix MI100 tests (#832)
* Fix MI100 tests

* Handle missing roofline in db_analysis.py
2025-09-03 11:09:12 -04:00
cfallows-amdandPratik Basyal 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
jamessiddeley-amd f0955f5a83 [rocprof-compute] added f4f6 description and VALU FLOPS split for empirical peaks (#739)
* added f4f6 description and VALU FLOPS split

* changed peak ammolite vars to local

* reverted to dict peak initialization

* ruff check format

* updated VALU descriptions

* updated VALU descriptions

* Update parser.py

* Update parser.py

Added gracefull NameError handling
Moved globals() update to init_metric_evaluation with ammolite__ vars and raw pmc_df

* update formatting
2025-08-27 12:46:41 -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
vedithal-amd 9a02dae75f [rocprofiler-compute] [Bugfix] Fix analysis not working with rocpd (#704)
* fix rocpd roofline

* Improve rocpd test by using dynamic workload folder

* bugfix

* fix ruff format
2025-08-25 11:46:55 -04:00
Taylor Ding b5c8c8bcb1 Eval metrics performance optimizations (#435)
Post-analysis eval metrics performance optimizations.
2025-08-22 16:35:48 -04:00
jamessiddeley-amd 5deeea71df [rocprof-compute] Update Formatting (#671)
* updated rocprof-compute formatting

* fixed ammolite peak variables in parser.py

* format parser.py

* update formatting rocprof_compute_base
2025-08-22 12:22:17 -04:00
xuchen-amd ed877433f3 [rocprofiler-compute][TUI] Updates and refactor. (#703) 2025-08-22 11:02:32 -04:00
xuchen-amd 6bf5648c6d [rocprofiler-compute] Handle amd-smi rocm==6.4.2 json output issue. (#667) 2025-08-21 10:06:04 -04:00
xuchen-amd 0bf66a519c [rocprofiler-compute][TUI] Restructure Performance Metrics (#232) 2025-08-20 17:00:54 -04:00
vedithal-amd ed53090c25 Join SQC_* csv files as well (#669) 2025-08-20 15:33:48 -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
xuchen-amd 483315fd0a Fix amd_smi lookup logic to account for amd-smi>=26.0.0 (#320) 2025-08-13 10:21:45 -04:00
vedithal-amd 63f31859e4 Fix instruction cache metrics (#276)
* Fix IL1 Latency metric

* Add SQC_ICACHE_INFLIGHT_LEVEL counter and corresponding accumulation
  counter to counter definitions

* Add missing coll_level

* Fix descriptions and tests
2025-08-12 14:03:11 -04:00
xuchen-amd 9a4983feac Fix fstring formatting. (#315) 2025-08-12 11:54:58 -04:00
xuchen-amd 0929e6ecc1 [rocprofiler-compute] Update amd smi lookup (#223) 2025-08-11 17:37:33 -04:00
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]andVignesh Edithal d3f9ab25eb Use own counter definition (#91)
* Use own counter definition
  * Do not depend on rocprofiler-sdk counter definition

* Add missing counter definitions for MI100, MI200, MI300, MI350 series
  * Counters added based on register specification
  * This prevents some missing metrics

* Enable SQC_DCACHE_INFLIGHT_LEVEL counter and associated metrics

* Enable TCP_TCP_LATENCY counter and associated counter for all GPUs
  except MI300

* Update TCC_EA_* counters for MI100 to TCC_EA0_*
  * Update MI100 metrics which depend on TCC_EA0_* counters

* Enable accumulation counters for MI100

* Improve rocprof list avail usage to get a better idea of supported
  counters

* Update CHANGELOG

* Move accumulation counters to counter definition

---------

Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
2025-08-08 14:39:10 -04:00
cfallows-amd d8d739f57c Re-add rhel8 roofline binaries (#122)
RHEL8 now being supported until EOS, rebuilding rhel8 bins for rocm7 (previously built for rocm7 rhel9).

Remove roofline-rhel9-rocm7, replace with new roofline-rhel8-rocm7.
Update check for roof bin.
Update any doc mentions of rhel min support version back to rhel8.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-08-07 12:24:02 -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
xuchen-amd 34dd26fb07 Enable single pass counter collection (#833)
[ROCm/rocprofiler-compute commit: 6a77d241ed]
2025-08-06 10:35:05 -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
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
Fei Zheng 94ce792f39 quick fix how to call v3 with pc sampling
[ROCm/rocprofiler-compute commit: 3a40e4b58c]
2025-07-31 08:17:06 -06:00
vedithal-amd aa2f74c10f Fix rocprof avail usage (#840)
[ROCm/rocprofiler-compute commit: ea4769f604]
2025-07-30 13:52:55 -04:00
fxmarty-amd 49b5d410e4 bugfix to make amd-smi usage backward compatible (#836)
* Update soc_base.py

Fixes https://github.com/ROCm/rocprofiler-compute/issues/835

Signed-off-by: fxmarty-amd <felmarty@amd.com>

* address comments

---------

Signed-off-by: fxmarty-amd <felmarty@amd.com>

[ROCm/rocprofiler-compute commit: 56d040156e]
2025-07-30 09:40:04 -04:00
vedithal-amd 2966867099 Fix test cases (#837)
* Fix formatting

[ROCm/rocprofiler-compute commit: 80ea339217]
2025-07-28 16:19:45 -04:00
vedithal-amd 17e5892614 Enable rocpd output format with rocprofiler sdk (#790)
* Add `rocpd` choice for `--format-rocprof-output` option
* Add rocpd_data.py which defines SQL queries to extract data from rocpd database
* Use sqlite3 package to read the database
* Add `--retain-rocpd-output` option in profile mode to retain raw
  rocpd database
* Add warning notice to say `--format-rocprof-output rocpd` will be
  default in future release

For rocpd output:
* Use only `pmc_perf.csv` instead of reading individual coll_level results csv files
* Post process csv files using pandas in analysis mode instead of profile mode
* Use ACCUM counters instead of SQ_ACCUM_PREV_HIRES

* Add test cases for rocpd output format
* Fix code formatting issues
* Update CHANGELOG

[ROCm/rocprofiler-compute commit: 03d27c0ba0]
2025-07-28 11:02:28 -04:00
vedithal-amd 97465e7448 add description for MI100 counters (#834)
[ROCm/rocprofiler-compute commit: 6885cb068d]
2025-07-26 15:33:23 -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
xuchen-amd dcdadfd37d Improve --time-unit arg (#807)
[ROCm/rocprofiler-compute commit: 99a6e67bcc]
2025-07-24 12:15:52 -04:00
vedithal-amd 1cf98deedf Fix rocprofv3 supported counters not being detected (#832)
* Fix rocprofv3 supported counters not being detected

* Fix rocprof interface deprecation warning appearing twice

[ROCm/rocprofiler-compute commit: dbcaccb9de]
2025-07-24 11:50:07 -04:00
vedithal-amd 449a6d41a0 Improve baseline comparison (#817)
* Do not force unsupported metrics to be specified in older gpu
  architectures as None

* Remove metrics which are explicitly set to None

* Update CHANGELOG

* Fix analysis configuration to fix baseline comparisons across all gpu
  architectures
    * Add missing 1812 section for gfx908
    * Add missing 1812 section for gfx90a

* Baseline comparision will only show common metrics
   * First workload will be used to set Metric ID index column

[ROCm/rocprofiler-compute commit: d4c316a730]
2025-07-24 11:49:02 -04:00
Fei Zheng b4c626893f Fix L2 read/write/atomic bandwidths on MI350 (#831)
[ROCm/rocprofiler-compute commit: 137f35e700]
2025-07-23 15:46:19 -06: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
vedithal-amd 6c8b834f5c Fix tests and formatting (#826)
[ROCm/rocprofiler-compute commit: 068e5aaef4]
2025-07-22 17:49:16 -04:00
vedithal-amdandFelix Marty a559d9e8d1 Standalone GUI bugfix (#825)
* Fix barchart elements table ids

* Add HBM bandwidth section to L2 cache report for gfx950

* bugfix for standlone GUI

Co-authored-by: Felix Marty <Felix.Marty@amd.com>

[ROCm/rocprofiler-compute commit: e132b047cd]
2025-07-22 15:31:54 -04:00
vedithal-amd e40141f2ba Fix memory clock detection with amd-smi (#824)
[ROCm/rocprofiler-compute commit: 0fdd186dd5]
2025-07-22 13:46:06 -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
vedithal-amd 2740d18028 Remove MI50/MI60 gfx906 support per documentation (#819)
[ROCm/rocprofiler-compute commit: 537a269e95]
2025-07-18 09:57:33 -04:00
cfallows-amd 930b32e2cb Fix roofline block print during CLI output (#811)
Fix roofline panel in CLI analyze stage when using --block option. Improve roofline CLI output checks and logs.

---------

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

[ROCm/rocprofiler-compute commit: 1d834f4190]
2025-07-15 12:42:27 -04:00
Fei Zheng 1050e0201c Update peak flops for MI350 (#810)
[ROCm/rocprofiler-compute commit: e1da9355c2]
2025-07-15 08:46:13 -06:00
xuchen-amd 65673617e0 Remove rocm-smi for ROCm 7.1 (#809)
[ROCm/rocprofiler-compute commit: b4b50502e3]
2025-07-15 10:28:53 -04:00
xuchen-amd 06b24cbfe1 rocm-smi deprecation warning (#806)
[ROCm/rocprofiler-compute commit: a3dc98e251]
2025-07-14 13:35:47 -04:00
xuchen-amd 0ac856237a tui user experience improvement (#805)
[ROCm/rocprofiler-compute commit: 23664c72f7]
2025-07-11 16:51:55 -04:00
vedithal-amd ce73a5ef74 Fix roofline and TUI bugs (#803)
* Fix roofline rocm version bug
* Fix utils bug
* Remove unnecessary tests
* Do not check textual-fspicker package in cmake build
* Use rocprofv3 to test MI 100 and fix tests

[ROCm/rocprofiler-compute commit: 000fd4f5b2]
2025-07-09 19:15:46 -04:00
xuchen-amd 9ebbf4bb03 Generalize config path. (#802)
* Generalize config path.

* Fix format.

* Fix typo.

[ROCm/rocprofiler-compute commit: 8585cd8e8f]
2025-07-09 18:57:21 -04:00