Wykres commitów
53 Commity
Autor SHA1 Wiadomość Data
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 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-amdiFelix 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 fc2037870f fix build (#823)
[ROCm/rocprofiler-compute commit: c4d129def5]
2025-07-22 13:02:14 -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
vedithal-amd 9a442748ea Fix docker testing instructions (#813)
[ROCm/rocprofiler-compute commit: ccb34e8a91]
2025-07-15 17:06:22 -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
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
vedithal-amd 740fe492c2 Fix rocprofiler sdk list counters (#765)
[ROCm/rocprofiler-compute commit: 894046f283]
2025-07-02 09:41:51 -04:00
vedithal-amd 86e243201e Fix SPI block counter limit (#780)
* Fix SPI counter collection limit

* Update counter collection limits from aqlprofile

* Remove special handling for MI 350 SPI pipe counters

[ROCm/rocprofiler-compute commit: 6e1bbb5efb]
2025-06-27 14:07:56 -04:00
vedithal-amd 1d59cbb06d Add support for MI 100 with rocprofiler-sdk (#768)
* Add custom rocprofiler-sdk counter definitions file for MI 100

* Update CHANGELOG to mention that accumulation counters will not be
  collected when profiling on MI 100 using rocprofiler-sdk/rocprofv3

* Migrate accum_counters.yaml to code

[ROCm/rocprofiler-compute commit: a95a45d69a]
2025-06-26 09:03:18 -04:00
vedithal-amd 9873460265 Fix counter collection for MI 350 (#764)
* Fix TCC counter collection bug
* Fix accumulate counter collection
* Fix formatting

[ROCm/rocprofiler-compute commit: 5950a02ff6]
2025-06-21 08:48:25 -04:00
vedithal-amd ab985464ef Add docker files for testing (#761)
[ROCm/rocprofiler-compute commit: b16256fd07]
2025-06-17 16:18:35 -04:00
vedithal-amd fccb9195ff Print counter list in DEBUG level (#758)
[ROCm/rocprofiler-compute commit: 7c0ffd14a9]
2025-06-16 16:53:00 -04:00
vedithal-amd 917634d332 fix test_gpu_specs.py (#752)
[ROCm/rocprofiler-compute commit: fa1e9965f8]
2025-06-13 10:01:59 -04:00
Vignesh Edithal 696c1407af Bugfix for PR #744
[ROCm/rocprofiler-compute commit: 6054b3b7fd]
2025-06-12 16:09:15 -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
vedithal-amd fe480ee344 Mount rocprofiler-sdk directory in docker (#743)
[ROCm/rocprofiler-compute commit: dcbc7b15e2]
2025-06-10 16:43:16 -04:00
vedithal-amd c7cea9c971 Revert default interface to rocprof v1 (#738)
* Add deprecation warning for rocprof v1 / v2 / v3 interfaces to use
  rocprofiler-sdk interface

[ROCm/rocprofiler-compute commit: a1ef3425c6]
2025-06-09 16:39:11 -04:00
vedithal-amd dd39c649d9 Bugfix for rocprofiler sdk interface not working in MI 200 (#733)
[ROCm/rocprofiler-compute commit: 721053bd03]
2025-06-09 12:33:25 -04:00
vedithal-amd 32d6be5d77 Add SQLite3 package to test docker container (#730)
[ROCm/rocprofiler-compute commit: 25f21715bc]
2025-06-06 14:55:32 -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
Vignesh Edithal 93e36e5491 Add James Siddley to code reviewers
[ROCm/rocprofiler-compute commit: 6522fe954b]
2025-05-15 12:14:39 -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
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
vedithal-amd bd04d43108 Fix PC sampling analysis config issue (#697)
[ROCm/rocprofiler-compute commit: abd500593b]
2025-05-06 18:22:15 -04:00
vedithal-amd 27585a8a2b Support MI 350 profiling (#632)
* Add MI 350 hardware information

* Refactor MI GPU YAML file and corresponding interface

* Add SoC file for gfx950 architecture

* Add analysis report configs for MI 350 containing existing metrics

* Add placeholder None valued metrics for previous architectures to make
  baseline comparison work

* Enable testing on MI 350

* Analysis config metric changes
    - SPI changes
        - Update metric formula for default SPI pipe counter
             - Use efficiently collected pipe wise SPI counters
        - Add SPI Wave Occupancy
        - Add Scheduler-Pipe Wave Utilization
        - Update formula for VGPR Writes
        - Add Scheduler-Pipe FIFO Full Rate
   - CPC changes
	- Add CPC SYNC FIFO Full Rate
	- Add CPC CANE Stall Rate
        - Add CPC ADC Utilization
   - SQ changes
        - Add VALU co-issue efficiency
        - Add F6F4 datatype metrics
        - Update formula for total FLOPs by adding F6F4 counters
        - Add LDS STORE / LOAD / ATOMIC metrics
        - Add LDS STORE / LOAD / ATOMIC bandwidth
        - Add LDS FIFO and TA ADDR / CMD / DATA FIFO full rates

* Collect TCP_TCP_LATENCY_sum only for gfx950 (MI 350)

* Do not inject SQ_ACCUM_PREV_HIRES unnecesarily

* Do not hardcode memory and shader clock speeds

* Write num_hbm_channels to sysinfo.csv instead of hbm_bw while profiling

* Move generate sysinfo.csv to pre processing step of profiling

* Add warnings to use --specs-correction for missing sysinfo.csv values during analysis phase

* Update CHANGELOG

* Analysis phase warning to use --specs-correction when needed

[ROCm/rocprofiler-compute commit: f9aa7be97c]
2025-04-03 02:21:18 -04:00
vedithal-amd ab290f250d Weekly rebase liangdin-test on top of amd-mainline (#650)
[ROCm/rocprofiler-compute commit: a7ebbbd41e]
2025-04-01 14:18:29 -04:00
vedithal-amd 04dbdc5c5d Inject SQ_ACCUM_PREV_HIRES for LEVEL counters only (#641)
[ROCm/rocprofiler-compute commit: af76525baa]
2025-03-27 10:24:21 -04:00
vedithal-amd 67b20baf11 Remove static pmc files (#606)
* Delete static pmc files

* Counter parsing changes
	- Move counter parsing logic to another function
	- Fix counter parsing regex
	- Log list of counters being collected

* Sanity check counters supported by rocprof
	- Emit warning instead of error since rocprof support counters
	  list might be inaccurate

* Do not collect these counters
	- TCP_TCP_LATENCY_sum (except for gfx908 and gfx90a)
	- SQC_DCACHE_INFLIGHT_LEVEL

* Update logic of writing TCC channel counter definition yaml file

* Fix bug in capture_subprocess_output() utility function
	- Make logging optional in capture_subprocess_output()

* Fix formatting and tests

* Update changelong

[ROCm/rocprofiler-compute commit: 58cf702d40]
2025-03-24 17:43:29 -04:00
vedithal-amd 77ffa73e5b Update default PR reviewers (#617)
[ROCm/rocprofiler-compute commit: 40ad99eae1]
2025-03-19 16:00:28 -04:00
vedithal-amd ec4359658b Fix kernel filtering when using rocprofv3 (#615)
When using rocprof v3:
* Use --kernel-include-regex for kernel name filtering
* Use --kernel-iteration-range for kernel dispatch filtering

Update changelog

[ROCm/rocprofiler-compute commit: 45b8937d5d]
2025-03-18 11:26:45 -04:00
vedithal-amd f775c7cdbd Band aid fix for MI 100 no counters collected (#614)
* rocprofv3 might not collect any counters for MI 100, handle this case gracefully to prevent test failures

[ROCm/rocprofiler-compute commit: 64ccd588de]
2025-03-18 11:26:17 -04:00
vedithal-amd 30a3751a42 Fix tests on MI 100 (#609)
[ROCm/rocprofiler-compute commit: 6827330135]
2025-03-13 12:07:03 -04:00
vedithal-amd e4fce70067 selective counter bugfix (#602)
Allow block filter of the form xx.x

[ROCm/rocprofiler-compute commit: 30752d1547]
2025-03-11 13:34:48 -04:00
vedithal-amd 0f4b5e91bd Standalone binary no self execute fix (#603)
* Fix nuitka command

[ROCm/rocprofiler-compute commit: 15edbf475e]
2025-03-11 13:34:37 -04:00
vedithal-amd 2167d9d295 Update sphinx docs version in develop (#601)
* Update sphinx docs version in develop instead of amd-staging branch
* Add repo admins to pr review

[ROCm/rocprofiler-compute commit: 51c9c6fad3]
2025-03-10 18:01:37 -04: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
vedithal-amd 536fb5ea26 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

[ROCm/rocprofiler-compute commit: 0b3114fa88]
2025-03-07 11:27:01 -05:00
vedithal-amd 4b1979912b clear yum metadata before yum install (#582)
[ROCm/rocprofiler-compute commit: bec537e2a1]
2025-02-27 09:39:26 -05:00
vedithal-amd 2fc811bbbd Do not fail if VERSION.sha not found (#579)
* Create VERSION.sha file while creating standalone binary

* Do not fail on VERSION.sha not found

* Add git to docker container for testing

[ROCm/rocprofiler-compute commit: 19a9365bb9]
2025-02-26 11:39:37 -05:00
vedithal-amd 4a890ce8d0 Check PATH to verify executable in remaining args (#578)
[ROCm/rocprofiler-compute commit: 649660d54e]
2025-02-24 13:33:55 -05:00
vedithal-amd d045ac8c74 Standalone binary (#546)
* Add cmake function to create standalone binary

* Mention licenses used by dependencies in the LICENSE file

* Add test cases for standalone binary by adding --call-binary option for pytest

* Docker compose file to create standalone binary in standardized RHEL 8 environment

* Add README instructions on how to create and test standalone binary

* Move docker files from utils to docker folder; Add standalone binary testing instructions

* Add CHANGELOG statement

* Use different service names in docker compose files

* Use volume mounting in docker files

[ROCm/rocprofiler-compute commit: 40f79c28b1]
2025-02-20 17:51:57 -05:00
vedithal-amdiRichard Ben 2fcae1b83a Add broken mclk workaround for all arch #453 (#556)
* Add the missing commit from #453

* Remove unnecessary conditional and use 'is' operator

Co-authored-by: Richard Ben <ben.richard@amd.com>

[ROCm/rocprofiler-compute commit: bceddb0943]
2025-02-07 14:54:17 -05:00
Vignesh Edithal e68c297cb2 Use github app for develop to amd-staging sync
* Use the token for rocprofiler-compute-runner github app to perform
  auth to bypass amd-staging branch protection


[ROCm/rocprofiler-compute commit: 25b6bbbb3c]
2025-02-03 13:41:14 -05:00
vedithal-amd 25888acd3c Quick fix for mpi_support (#527)
[ROCm/rocprofiler-compute commit: c5fec31535]
2025-01-22 07:03:07 -08:00
vedithal-amd 69283cb155 Docker environment for testing (#515)
* Add instructions on how to use Docker for manual and automatic testing

[ROCm/rocprofiler-compute commit: 5e90797b24]
2025-01-22 07:02:59 -08:00