Wykres commitów

347 Commity

Autor SHA1 Wiadomość Data
abchoudh-amd a7bbe0c5d2 Use amd-smi Python API instead of CLI (#1334)
* Use amd-smi Python API instead of CLI

Formatting fix

python path

* Update CHANGELOG

* Create amdsmi interface

* Added amdsmi tests

* Removed run

* Prioritize rocm's amdsmi python API

* address review comments

* update changelog

* fix ruff formatting

---------

Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
2025-10-24 11:11:33 +05:30
ywang103-amd 9b562c0e58 pc sampling multi kernel (#1382)
* initial commit

* add csv support extraction for non kernel selection mode

* add --kernel-trace for rocprofiler-sdk mode

* make non kernel selective mode runnable

* make kernel selection work with -k

* remove upper case of arg hint

* update documentation

* display same kernel name at only one place and merge instruction id with same obj id as well as offset

* remove kernel name's display for single kernel selection

* change log added

---------

Co-authored-by: Fei Zheng <44449748+feizheng10@users.noreply.github.com>
2025-10-23 01:26:08 -04:00
xuchen-amd 578589d363 [rocprofiler-compute] metrics generator (#1199) 2025-10-22 15:17:43 -04:00
cfallows-amd c215ace6c3 Update Roofline binaries with improved flops benchmarking (#1402)
* Update roof bins- rebuild from rocm-amdgpu-bench as of oct15/25

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

* Update CHANGELOG.md

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: Pratik Basyal <pratik.basyal@amd.com>
2025-10-21 10:14:43 -04:00
jamessiddeley-amd a14f0c30ab fix output (#1462) 2025-10-21 09:55:18 -04:00
Fei Zheng 2c59a82fe1 Fix rocprof-compute TUI build err with python 39 (#303)
* Upgrade min python version from 3.8 to 3.9

* Set min version for textual-fspicker for TUI support

* Update workflows to use python 3.9 instead of 3.8

* fix formatting

* fix bug

---------

Co-authored-by: Vignesh Edithal <Vignesh.Edithal@amd.com>
2025-10-21 00:27:35 -04:00
Young Hui - AMD 02bf0a8492 [rocprofiler-compute] Source files updated to reference super-repo URL (#1330)
* source files updated to reference super-repo URL
2025-10-15 15:35:11 -04:00
jamessiddeley-amd 64375c23d0 [rocprof-compute] Improve standalone roofline plot generation (#1298)
* ruff formatting

* Update roofline.py function descriptions

* Update height calculation

* Add back cache level filtering in gui_analysis

* Update roofline_calc.py to take in ai_data for ceiling length calc

* format roofline.py

* update roof test cases

* update roofline legend plot table

* fix pdf generate cutoff

---------

Co-authored-by: cfallows-amd <Carrie.Fallows@amd.com>
2025-10-10 14:23:23 -04:00
ggottipa-amd c8ab57fe15 correcting typo. (#1222)
fixes SWDEV-557963.
2025-10-06 21:04:55 +05:30
vedithal-amd bd7a1de879 Remove rocprofv1/v2 in favour of rocprofiler-sdk (#673)
* Set default rocprof interface as rocprofiler-sdk

* Remove rocrprofv1 and rocprofv2 interfaces

* Remove deprecation notice for rocprof v1/v2/v3 interfaces
  * Make rocprofiler-sdk the default interface and make rocprofv3 interface opt-in using ROCPROF=rocprofv3

* Add deprecation notice for rocprofv3
2025-09-24 10:37:01 -04:00
xuchen-amd c3054c00b1 [rocprofiler-compute] Type annotation patch for analysis_db.py (#981) 2025-09-23 17:05:37 -04:00
systems-assistant[bot] 872f0aed0c Live attach/detach and its unit tests (#53) 2025-09-23 13:17:08 -04:00
cfallows-amd 9819e1cbfc Refactor roofline binary detection (#933)
* Simplify the roofline binary pickup process by determining which base distribution the system OS is based off of, and select the correct binary.
* Add more OS distribution support to roofline by modifying the detection parameters and adding an AZL binary
* Update changelog to include roofline support additions

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-09-22 12:04:20 -04:00
ywang103-amd 775ac73d25 change interval for host_trap in unit test to adapt to single kernel (#1064) 2025-09-19 17:21:02 -04:00
xuchen-amd d41e115916 [rocprofiler-compute][webui] bug fix (#1047) 2025-09-18 10:48:01 -04:00
xuchen-amd eb46160a8f update proj toml (#974) 2025-09-12 16:24:44 -04:00
xuchen-amd 7ed6000e32 [rocprofiler-compute] Refactor to add type annotation and misc (#787) 2025-09-12 13:53:24 -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
ggottipa-amd 5288d47275 Including copyright headers. (#879) 2025-09-09 11:02:47 +05:30
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
ywang103-amd c9b1ad72a5 scientific notion of memchart(CLI, TUI and GUI) (#764) 2025-09-08 01:30:30 -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
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 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
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
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
xuchen-amd 34dd26fb07 Enable single pass counter collection (#833)
[ROCm/rocprofiler-compute commit: 6a77d241ed]
2025-08-06 10:35:05 -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 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 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
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 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