Wykres commitów

163 Commity

Autor SHA1 Wiadomość Data
ywang103-amd 4c614d3d21 remove test_scientific_notation_trigger_above_upper_bound for its (#913) 2025-09-10 10:18:42 -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 04c6cfec8c [rocprof-compute] updated test_utils mock to be compatible with python3.11 (#839)
* updated test_utils mock to work with python3.11

* fixed python formatting
2025-09-04 10:44:04 -04:00
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-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
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 e8081bd91a Update mi350 output files for unit tests. (#744) 2025-08-25 21:27:10 -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
ywang103-amd 2a216ecbc1 pc sampling unit tests (#194) 2025-08-23 10:13:22 -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
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
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
vedithal-amd 002b9607b6 [rocprofiler-compute] Fix profiling tests (#227)
* Add check for SQC_DCACHE csv in test script

* Fix the list of csv files when profiling in tests
2025-08-11 09:59:34 -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
vedithal-amd 96f6abbc03 Remove marker for test autoconfig (#857)
[ROCm/rocprofiler-compute commit: 874b920edd]
2025-08-06 10:46:04 -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 5084aad00b Fix autogen config test (#856)
* Only check file content hash consistency

* Do not check file modification timestamps since that can be updated by
  git commands

[ROCm/rocprofiler-compute commit: e867524344]
2025-08-05 10:50:32 -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 bf05f442b8 Fix pc sampling unit test (#847)
[ROCm/rocprofiler-compute commit: 81daaaecc7]
2025-08-01 09:28:43 -06:00
Fei Zheng 666f00a07f Format code (#842)
[ROCm/rocprofiler-compute commit: 6cbda3f1d8]
2025-07-31 08:20:49 -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 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 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
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
vedithal-amd f730199ef7 Fix util tests (#797)
* Fix profile tests
* Update known issue for corrupted memory chart

[ROCm/rocprofiler-compute commit: c51b9d16c3]
2025-07-08 17:15:09 -04:00
Fei Zheng c867eaa9cd format with isort (#793)
[ROCm/rocprofiler-compute commit: 239e6550f4]
2025-07-08 08:51:20 -04:00
cfallows-amd 30466f6bfa Adjust csv output list for test_block_SPI for MI350 (#785)
Adjusting expected output list for test_block_SPI for MI350 series products.
Run formatter.

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

[ROCm/rocprofiler-compute commit: 61a9381edf]
2025-07-03 01:58:11 -04:00
jamessiddeley-amd 94ea0fbf2f additional-code-coverage-compute (#763)
* added additional functions to test_utils.py

* added code coverage for db_connector.py

* Update test_profile_general.py

Added additional roofline test cases

Signed-off-by: jamessiddeley-amd <James.Siddeley@amd.com>

* updated coverage mi_gpu_spec.py 73% -> 94%

* added parser.py coverage

* removed redundant comments

* added test_utils and test_db_connector

---------

Signed-off-by: jamessiddeley-amd <James.Siddeley@amd.com>

[ROCm/rocprofiler-compute commit: a6463f5e98]
2025-07-02 13:29:10 -04:00
ywang103-amd 72e8576a7e format the code after mem chart's fix of test (#753)
[ROCm/rocprofiler-compute commit: b8dd6d049d]
2025-06-13 12:03:42 -04:00
vedithal-amd 917634d332 fix test_gpu_specs.py (#752)
[ROCm/rocprofiler-compute commit: fa1e9965f8]
2025-06-13 10:01:59 -04:00
David Galiffi a153c96c7b Copyright Header Compliance (#745)
- for SWDEV-537492

[ROCm/rocprofiler-compute commit: 1cd989a110]
2025-06-12 12:02:58 -04:00
jamessiddeley-amd 2b60d10e49 increased utils.py code coverage to ~84% (#742)
* code coverage file cover: utils.py

* added code coverage 82% for utils.py

* reverted unused_code rebase

[ROCm/rocprofiler-compute commit: 97dad3f7f1]
2025-06-12 10:21:40 -04:00
xuchen-amd 6c40056aa9 Add chip specs (#681)
* Add perfmon config spec, enhance memory partition info.

* Add gfx950 perfmon config.

* Add High Freq variants in gfx942.

* Add backup detection methods for gpu model.

* Improve get_num_xcds logic by adding detection of 1to1 arch-to-compute_partition logic.

* Add default compute partition settings spx:8 for when gpu_model=None.

* Update gpu spec tests.

* Add backup compute partition detection.

---------

Signed-off-by: xuchen-amd <xuchen@amd.com>

[ROCm/rocprofiler-compute commit: f0fad19e8b]
2025-05-29 16:35:34 -04:00
vedithal-amd 5d03532296 Fix MI350 tests (#706)
- TCC counter collection tests are still failing due to recent
  rocprofiler-sdk change

[ROCm/rocprofiler-compute commit: 7b755fcd86]
2025-05-15 13:37:55 -04:00
vedithal-amd 6dc3fad1c7 Implement interface to rocprofiler sdk (#695)
* Setting ROCPROF=rocprofiler-sdk environment variable will use rocprofiler-sdk C++ library instead of rocprofv3 python script

* Add runtime option --rocprofiler-sdk-library-path to use custom version of rocprofiler sdk library
    * Add --rocprofiler-sdk-library-path conftest option for tests

* Setup appropriate environment variables to inject rocprofiler sdk code to user command
    * Add env. vars. for counter collection and filtering
    * Add env. vars. for pc sampling

* Use python bindings to list counters supported by rocprofiler sdk

[ROCm/rocprofiler-compute commit: 5cb86e31fc]
2025-05-13 10:48:21 -04:00
xuchen-amd 6d6609e68e Improve gpu spec tests using chip ids. (#701)
[ROCm/rocprofiler-compute commit: 4e24b2c60a]
2025-05-09 11:48:25 -04:00
vedithal-amd 98367932a3 Use gpu model series instead of gpu model name for testing (#696)
[ROCm/rocprofiler-compute commit: dbb7f4d493]
2025-05-06 18:23:08 -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
xuchen-amd af114a1539 Add test for gfx942 number of xcds. (#674)
* Add test for 9fx942 number of xcds.

* Improve the structure of mi gpu specs, add num_xcds_spec_class test.

* Add to ctest.

---------

Signed-off-by: xuchen-amd <xuchen@amd.com>

[ROCm/rocprofiler-compute commit: 85bfa73e2c]
2025-04-28 11:29:14 -04:00
ywang103-amd 46bf2453cc configure rocprofv3 as default for unit test (#668)
[ROCm/rocprofiler-compute commit: fe2035d166]
2025-04-11 19:30:18 -04:00