Commit Graph

64521 Commits

Author SHA1 Message Date
cfallows-amd 6cb5bcdbe9 Add datatypes for roofline profiling (#642)
Rebuild of rocm-amdgpu-bench roofline binaries for MI200/MI300 systems with rocm6.
Added datatype options to roofline feature.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-03-26 21:07:48 -04:00
Su, Daniel 2ae703fed6 External CI: enable trigger for amd-mainline (#30)
[ROCm/rocm_smi_lib commit: 172707cbd3]
2025-03-26 08:24:51 -05:00
Su, Daniel 172707cbd3 External CI: enable trigger for amd-mainline (#30) 2025-03-26 08:24:51 -05:00
Meserve, Mark d80c047fd2 Additional 1.0.0 changes (#317)
* Additional 1.0.0 changes

- Update VERSION
- Add beta compatibility for rocprofiler_agent_set_profile_callback_t

* Fix location of deprecated typedef rocprofiler_agent_set_profile_callback_t

* rocprofiler_record_counter_t -> rocprofiler_counter_record_t

* Experimental + deprecated annotations

* rocprofiler_record_dimension_info_t -> rocprofiler_counter_record_dimension_info_t

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: a1fcdf7f83]
2025-03-26 02:12:03 -05:00
Meserve, Mark a1fcdf7f83 Additional 1.0.0 changes (#317)
* Additional 1.0.0 changes

- Update VERSION
- Add beta compatibility for rocprofiler_agent_set_profile_callback_t

* Fix location of deprecated typedef rocprofiler_agent_set_profile_callback_t

* rocprofiler_record_counter_t -> rocprofiler_counter_record_t

* Experimental + deprecated annotations

* rocprofiler_record_dimension_info_t -> rocprofiler_counter_record_dimension_info_t

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-26 02:12:03 -05:00
lyndonli 157533a28b Remove WSL checks for displaying UUID and BDFID
Signed-off-by: lyndonli <Lyndon.Li@amd.com>


[ROCm/rocminfo commit: 38e9f399a2]
2025-03-26 13:26:34 +08:00
lyndonli 38e9f399a2 Remove WSL checks for displaying UUID and BDFID
Signed-off-by: lyndonli <Lyndon.Li@amd.com>
2025-03-26 13:26:34 +08:00
Bhardwaj, Gopesh 146169577b doc improvements and fixes SWDEV-523395,SWDEV-516979 (#314)
* doc improvements and fixes SWDEV-523395,SWDEV-516979

* Adding changes from PR 231

[ROCm/rocprofiler-sdk commit: 6d6eec230c]
2025-03-26 10:09:08 +05:30
Bhardwaj, Gopesh 6d6eec230c doc improvements and fixes SWDEV-523395,SWDEV-516979 (#314)
* doc improvements and fixes SWDEV-523395,SWDEV-516979

* Adding changes from PR 231
2025-03-26 10:09:08 +05:30
GunaShekar, Ajay aaba454bfc SWDEV-523853 - Use RecordRenderOps instead of RecordRenderOp (#97)
[ROCm/clr commit: 686dd56a4e]
2025-03-26 09:28:40 +05:30
GunaShekar, Ajay 686dd56a4e SWDEV-523853 - Use RecordRenderOps instead of RecordRenderOp (#97) 2025-03-26 09:28:40 +05:30
Cole Ramos 088fa6a4ac Fix incorrect logging in mi_gpu_spec.py (#626)
* Move console logging to logger function to avoid circular dependency in utils module

Signed-off-by: coleramos425 <colramos@amd.com>

* Apply python formatting

Signed-off-by: coleramos425 <colramos@amd.com>

* Remove the default StreamHandler before adding the custom

 If you are not explicitly removing this default handler, it could be causing duplicate outputs.

Signed-off-by: coleramos425 <colramos@amd.com>

* Fix lingering bugs from merge conflict resolution

Signed-off-by: coleramos425 <colramos@amd.com>

* Comply to python formatting and update pre-commit hook helper

Signed-off-by: coleramos425 <colramos@amd.com>

* Removing redundant console_log call as the get_mi300_num_xcds() call, otherwise ALL Mi200 profiling runs will print this message

Signed-off-by: coleramos425 <colramos@amd.com>

---------

Signed-off-by: coleramos425 <colramos@amd.com>

[ROCm/rocprofiler-compute commit: 04f92b72a9]
2025-03-25 17:06:37 -05:00
Cole Ramos 04f92b72a9 Fix incorrect logging in mi_gpu_spec.py (#626)
* Move console logging to logger function to avoid circular dependency in utils module

Signed-off-by: coleramos425 <colramos@amd.com>

* Apply python formatting

Signed-off-by: coleramos425 <colramos@amd.com>

* Remove the default StreamHandler before adding the custom

 If you are not explicitly removing this default handler, it could be causing duplicate outputs.

Signed-off-by: coleramos425 <colramos@amd.com>

* Fix lingering bugs from merge conflict resolution

Signed-off-by: coleramos425 <colramos@amd.com>

* Comply to python formatting and update pre-commit hook helper

Signed-off-by: coleramos425 <colramos@amd.com>

* Removing redundant console_log call as the get_mi300_num_xcds() call, otherwise ALL Mi200 profiling runs will print this message

Signed-off-by: coleramos425 <colramos@amd.com>

---------

Signed-off-by: coleramos425 <colramos@amd.com>
2025-03-25 17:06:37 -05:00
xuchen-amd a851c977c7 Improve readability. (#628)
[ROCm/rocprofiler-compute commit: 3294c495f5]
2025-03-25 17:49:42 -04:00
xuchen-amd 3294c495f5 Improve readability. (#628) 2025-03-25 17:49:42 -04:00
Cole Ramos 796241206d Generalize locale checker to support more UTF-8 types (#623)
Signed-off-by: coleramos425 <colramos@amd.com>

[ROCm/rocprofiler-compute commit: 38c7dce84a]
2025-03-25 16:39:02 -05:00
Cole Ramos 38c7dce84a Generalize locale checker to support more UTF-8 types (#623)
Signed-off-by: coleramos425 <colramos@amd.com>
2025-03-25 16:39:02 -05:00
David Galiffi bd0eeb9555 Reapply "Upgrade ROCm-SMI to AMD SMI (#86)" (#147)
* Reapply "Upgrade ROCm-SMI to AMD SMI (#86)"

This reverts commit 9fcea73122.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>

[ROCm/rocprofiler-systems commit: 85bbea4954]
2025-03-25 17:31:27 -04:00
David Galiffi 85bbea4954 Reapply "Upgrade ROCm-SMI to AMD SMI (#86)" (#147)
* Reapply "Upgrade ROCm-SMI to AMD SMI (#86)"

This reverts commit b3eee295dd.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-03-25 17:31:27 -04:00
ywang103-amd d8c291a29d fix the crash related to agent id in rocprofv3 (#631)
[ROCm/rocprofiler-compute commit: 983f902fa0]
2025-03-25 16:33:12 -04:00
ywang103-amd 983f902fa0 fix the crash related to agent id in rocprofv3 (#631) 2025-03-25 16:33:12 -04:00
ywang103-amd 7e94296408 disable TCC flattern for rocprofv1 to avoid its crash becasue of unsupported implementation (#629)
[ROCm/rocprofiler-compute commit: a92bf96e56]
2025-03-25 15:12:19 -04:00
ywang103-amd a92bf96e56 disable TCC flattern for rocprofv1 to avoid its crash becasue of unsupported implementation (#629) 2025-03-25 15:12:19 -04:00
cfallows-amd 5079a1803f Datatype selection option for roofline (#624)
Added command line option to specify which datatype(s) to capture into the roofline PDF(s).
All datatypes are still collected by roofline call if applicable, but only specific datatypes are plotted into PDF outputs. Will dump out all datatypes into one graph, but separate FP from Int into two graphs if needed. Will skip datatype and give error message if the datatype is not valid on a particular gpu arch.
Default is FP32

Reworked roofline calls and plotting to be general enough such that any new datatypes added into rocm-amdgpu-bench can easily be reflected in rocprof-compute with simple modifications in roofline_calc.py.

Adjusted ctest to reflect expected default pdf outputs from roofline.

---------

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

[ROCm/rocprofiler-compute commit: a492e92034]
2025-03-25 15:02:09 -04:00
cfallows-amd a492e92034 Datatype selection option for roofline (#624)
Added command line option to specify which datatype(s) to capture into the roofline PDF(s).
All datatypes are still collected by roofline call if applicable, but only specific datatypes are plotted into PDF outputs. Will dump out all datatypes into one graph, but separate FP from Int into two graphs if needed. Will skip datatype and give error message if the datatype is not valid on a particular gpu arch.
Default is FP32

Reworked roofline calls and plotting to be general enough such that any new datatypes added into rocm-amdgpu-bench can easily be reflected in rocprof-compute with simple modifications in roofline_calc.py.

Adjusted ctest to reflect expected default pdf outputs from roofline.

---------

Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-03-25 15:02:09 -04:00
David Yat Sin 947391deac rocr: Release agent resources before pools
Adding a general stage for agents to release their resources on
shutdown. This avoids a circular dependency during shutdown because
we have to delete allocated resources before deleting memory pools, but
we also have to delete memory pools before destroying agents.
2025-03-25 14:25:04 -04:00
David Yat Sin edcc3a1ed5 rocr: Release agent resources before pools
Adding a general stage for agents to release their resources on
shutdown. This avoids a circular dependency during shutdown because
we have to delete allocated resources before deleting memory pools, but
we also have to delete memory pools before destroying agents.


[ROCm/ROCR-Runtime commit: 947391deac]
2025-03-25 14:25:04 -04:00
Yiannis Papadopoulos a66130bc48 rocr: Release vmem handles before agent destruction 2025-03-25 14:25:04 -04:00
Yiannis Papadopoulos 7a2b25e1ea rocr: Release vmem handles before agent destruction
[ROCm/ROCR-Runtime commit: a66130bc48]
2025-03-25 14:25:04 -04:00
Belton-Schure, Aidan e27e3eb66a SWDEV-515426 - Use RAII classes for comgr (#28)
Change-Id: I9f6005542cc88f1e16e22741dcc0ce904fdaa2b0

[ROCm/clr commit: ded41058a0]
2025-03-25 20:10:44 +05:30
Belton-Schure, Aidan ded41058a0 SWDEV-515426 - Use RAII classes for comgr (#28)
Change-Id: I9f6005542cc88f1e16e22741dcc0ce904fdaa2b0
2025-03-25 20:10:44 +05:30
Yat Sin, David 6d34b567df Fix for typo in ISA_TO_ID table (#6)
Change-Id: Id0720988fb01079a3ca6f3287dc743d93db4fd0f


[ROCm/rocminfo commit: ac6000dc47]
2025-03-25 10:30:04 -04:00
Yat Sin, David ac6000dc47 Fix for typo in ISA_TO_ID table (#6)
Change-Id: Id0720988fb01079a3ca6f3287dc743d93db4fd0f
2025-03-25 10:30:04 -04:00
Yiannis Papadopoulos 765563b786 rocr: Return success status in IsModelEnabled() 2025-03-25 10:05:16 -04:00
Yiannis Papadopoulos 427962679e rocr: Return success status in IsModelEnabled()
[ROCm/ROCR-Runtime commit: 765563b786]
2025-03-25 10:05:16 -04:00
lyndonli c34a2798ce rocr: Remove redundant Refresh() call
The initial call to Refresh() in the constructor is
unnecessary as it's handled in Runtime::Load().

Signed-off-by: lyndonli <Lyndon.Li@amd.com>
2025-03-25 09:13:59 -04:00
lyndonli e9c934c116 rocr: Remove redundant Refresh() call
The initial call to Refresh() in the constructor is
unnecessary as it's handled in Runtime::Load().

Signed-off-by: lyndonli <Lyndon.Li@amd.com>


[ROCm/ROCR-Runtime commit: c34a2798ce]
2025-03-25 09:13:59 -04:00
Dittakavi, Satyanvesh 0506822f4d SWDEV-516595 - Add __shfl functions with __hip_bfloat16 datatype (#42)
Also removes asserts in cooperative groups shfl functions since
__hip_bfloat16 shfl is present now

Change-Id: I57578b6e68dccc10c2ddcd194e9cc18bc7732ce1

[ROCm/clr commit: 376f23b86a]
2025-03-25 15:38:01 +05:30
Dittakavi, Satyanvesh 376f23b86a SWDEV-516595 - Add __shfl functions with __hip_bfloat16 datatype (#42)
Also removes asserts in cooperative groups shfl functions since
__hip_bfloat16 shfl is present now

Change-Id: I57578b6e68dccc10c2ddcd194e9cc18bc7732ce1
2025-03-25 15:38:01 +05:30
Jonathan Kim c710a06ee0 kfdtest: fix trap on wave start and end
The debugger override will set the initial request mask to the
previously set request mask so use a different mask to assert
enablement.
Trap on wave start and end also run back to back, so fix the
previous override mask check as well.

In addition, unlike instruction traps, trap on wave start and end
will not require a rewind of the program counter on wave exit.
2025-03-24 20:44:27 -04:00
Jonathan Kim 20d9a9a15a kfdtest: fix trap on wave start and end
The debugger override will set the initial request mask to the
previously set request mask so use a different mask to assert
enablement.
Trap on wave start and end also run back to back, so fix the
previous override mask check as well.

In addition, unlike instruction traps, trap on wave start and end
will not require a rewind of the program counter on wave exit.


[ROCm/ROCR-Runtime commit: c710a06ee0]
2025-03-24 20:44:27 -04:00
David Galiffi cf83c9db42 Ignore updates to .wordlist.txt for certain workflows (#148)
[ROCm/rocprofiler-systems commit: e9603238f7]
2025-03-24 18:16:46 -04:00
David Galiffi e9603238f7 Ignore updates to .wordlist.txt for certain workflows (#148) 2025-03-24 18:16:46 -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 58cf702d40 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
2025-03-24 17:43:29 -04:00
ywang103-amd c52fa4ef5f fix the part that casue _sum counters missing for TCC (#627)
[ROCm/rocprofiler-compute commit: 0c0906f238]
2025-03-24 11:16:03 -04:00
ywang103-amd 0c0906f238 fix the part that casue _sum counters missing for TCC (#627) 2025-03-24 11:16:03 -04:00
Madsen, Jonathan 43af686b72 Updated source/docs/sphinx/requirements.txt (#310)
- Re-ran pip-compile on source/docs/sphinx/requirements.in

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>

[ROCm/rocprofiler-sdk commit: 2061c52817]
2025-03-24 14:00:49 +05:30
Madsen, Jonathan 2061c52817 Updated source/docs/sphinx/requirements.txt (#310)
- Re-ran pip-compile on source/docs/sphinx/requirements.in

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-24 14:00:49 +05:30
Welton, Benjamin 692d041316 [SDK] Release 1.0 Public API Modifications (#277)
* Make sure all structs/enums can be forward declared

* Updates to counter collection

- consistency updates and cleanup

* Conversion of dimension information to info struct

* Added deprecated folder

* Testing changes

* merge changes

* Fix shadowed variable

* Source code formatting

* Fix shadowed variable

* Update rocprofiler_counter_info_v1_t member names

* Split version.h into version.h and ext_version.h

- ext_version.h contains external version info, e.g. ROCPROFILER_HSA_API_TABLE_MAJOR_VERSION, ROCPROFILER_HSA_RUNTIME_VERSION
- this reduces amount of recompilation after a commit since version.h gets updated with the git revision

* profile_config -> counter_config

* EOF new line

* [Samples] Reduce header includes + reorg counter collection samples

* Misc compilation fixes

- shadowed variables
- use of [[deprecated("...")]] in C code
- unused variables

* Minor misc modifications

- use common:: instead of rocprofiler::common:: when inside rocprofiler namespace
- counters.cpp
  - move local anon namespace functions into rocprofiler::counters:: anon namespace
  - use std::string_view for get_static_string
  - const ref for get_static_ptr
  - misc namespace shortening

* [Public API] rocprofiler_get_version_triplet + rocprofiler_version_triplet_t

- struct rocprofiler_version_triplet_t containing fields for the major, minor, and patch version
- public API function: rocprofiler_get_version_triplet
- define C++ operators for rocprofiler_version_triplet_t
- C++ function compute_version_triplet

* [Tests] Improve async-copy-testing test

- relax constraints
- improve logging

* Update counter_config.h doxygen docs

* ROCPROFILER_SDK_BETA_COMPAT

- ppdef which helps with renaming when set to 1

* Remove spurious include

* Fix includes for cxx/version.hpp

* Doxygen fixes for rocprofiler_get_version and rocprofiler_get_version_triplet

* Public API Experimental Designation

- ROCPROFILER_SDK_EXPERIMENTAL added to experimental function
- "(experimental)" added to doxygen @brief entries

* Fix use of assert instead of static_assert in hip/stream.cpp

* Use typedef instead of define for rocprofiler_profile_config_id_t

* Use inline rocprofiler_{create,destroy}_profile_config instead of ppdef

- added <rocprofiler-sdk/deprecated/profile_config.h>

* Doxygen for rocprofiler_{create,destroy}_profile_config

* ROCPROFILER_SDK_DEPRECATED_WARNINGS

* Temporarily comment out ROCPROFILER_SDK_DEPRECATED_WARNINGS=1

* cmake formatting

* Misc variable renaming in samples and tests

* Fix declarations of types

* Fix hip stream tracing service struct name

- rocprofiler_callback_tracing_stream_handle_data_t renamed to rocprofiler_callback_tracing_hip_stream_api_data_t

* Rename "HIP_STREAM_API" to "HIP_STREAM"

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Benjamin Welton <bewelton@amd.com>

[ROCm/rocprofiler-sdk commit: 4cd121e27b]
2025-03-24 12:07:33 +05:30