Commit Graph

720 Commits

Author SHA1 Message Date
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
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] 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-amd 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
cfallows-amd 7862701993 Update roofline bins for rocm7 changes (#755)
* Update current bins to have rocm6 suffix. Add new rocm7 bins, built on rocm7.0 latest due to hip updates.

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

* Re-add rocm version check for roof bins.

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

* Rebuild roofline binaries on top of latest rocm7 (#16379) after recent mainline promotions.
Adjusting version and distro combinations of bins following rocm6 vs rocm 7 supported OS.
*rhel8 not supported on rocm7, also not built anymore
*sles15 not supported on rocm7 but is still being built
*ubuntu stays as 22.04 and above for rocm7

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

* Minor fixes after testing.

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

* Fixed bad copy after finding it in testing ctest.

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

* Remove runpath from new bin

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

* Rework target_binary map return in detect_roofline- we should not be returning maps of different sizes or with different keys for the same method. Expected output should be consistent in case we run into bad position, or for testing purposes. Manually tested all possible roofline bin expected cases to comfirm functionality and expected user output.

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

* Update changelog with new roofline distro minimums

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

---------

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

[ROCm/rocprofiler-compute commit: 3df0d1dded]
2025-07-08 16:51:50 -04:00
Fei Zheng 09ec955554 PC Sampling: fix potential_end_offset (#792)
* fix potential_end_offset

* format code: unrelated

[ROCm/rocprofiler-compute commit: 1b7445faa4]
2025-07-08 08:52:01 -04:00
fxmarty-amd a91e3f74f3 fix normalization (#789)
[ROCm/rocprofiler-compute commit: c58ee9e73b]
2025-07-08 08:50:41 -04:00
cfallows-amd e085f3cc54 Fix method return for python version compatibility (#784)
Support for python3.8 and above means union defined in one of the methods was throwing errors for anything less than python3.10. Swapping out | operand for Optional[] resolves errors on systems using <3.10. No functional changes.

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

[ROCm/rocprofiler-compute commit: a59b1ea6e6]
2025-07-02 10:36:37 -04:00
vedithal-amd 740fe492c2 Fix rocprofiler sdk list counters (#765)
[ROCm/rocprofiler-compute commit: 894046f283]
2025-07-02 09:41:51 -04:00
xuchen-amd bfe24beec6 Remove cell backgrouund colors. (#778)
[ROCm/rocprofiler-compute commit: 222dbdc6bd]
2025-06-28 10:38:28 -04:00
jamessiddeley-amd 60ace87e1a added 0400 analysis config yaml files (#779)
[ROCm/rocprofiler-compute commit: 1bb7bf4dd4]
2025-06-27 16:21:19 -04:00