Commit Graph

8920 Commits

Author SHA1 Message Date
Galantsev, Dmitrii 059d015ea4 CMAKE - Add BUILD_INTERFACE include dirs for rdc_bootstrap
Change-Id: I93df878b21e245277c7a8d9589102a15c2517f4f
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-03-27 23:29:30 -05:00
Arif, Maisam 847ac53444 [SWDEV-524147] Patch for handling new ras filenames (#34)
Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
2025-03-27 22:14:28 -05:00
Galantsev, Dmitrii 51de344be7 Profiler - Add CPC and CPF metrics
Change-Id: I27fd725e9e1868c9afe7624d6e4aafad2a42d47e
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-03-27 19:01:23 -05:00
ywang103-amd 7c1f14123a fix the wrong number of channels of TCC counters to put in pmc txt file (#633) 2025-03-27 18:15:41 -04:00
Apurv Mishra 10530fa2a7 kfdtest: support for upstream kernel driver
detect if the loaded driver is upstream or DKMS version and
add a filter for for the tests that fail in upstream driver

Signed-off-by: Apurv Mishra <Apurv.Mishra@amd.com>
2025-03-27 16:55:21 -04:00
ywang103-amd cdb93b7a4c fix ip block test by changing ways of extracting agent id (#639) 2025-03-27 16:28:00 -04:00
David Galiffi b6b39af011 Fix "ROCPROFSYS_USE_ROCM" runtime config setting. (#144) 2025-03-27 16:03:46 -04:00
Pryor, Adam 47692d3ed5 [SWDEV-498711] RDC Partition Implementation (#119)
* [SWDEV-498711] RDC Partition Implementation

Change-Id: Ibfc3709793770537e4c9d36458f34c6b4f461724
Signed-off-by: adapryor <Adam.pryor@amd.com>
2025-03-27 14:10:11 -05:00
Yiannis Papadopoulos 0bd4acb5d4 rocr/aie: Returning error code if query not recognized 2025-03-27 13:15:13 -04:00
Yiannis Papadopoulos e55503e7f8 rocr/aie: Bundling XDNA BOs and addresses, adding cleanup guard in case of error 2025-03-27 13:15:13 -04:00
Yiannis Papadopoulos f4e1c9b0ba rocr/aie: Avoiding XdnaDriver class in queue API 2025-03-27 13:15:13 -04:00
Yiannis Papadopoulos 8dcbbf31c7 rocr/aie: Remove unused struct from HSA API 2025-03-27 13:15:13 -04:00
Aleksandar Djordjevic 2bad0e941b Disable RCCL, load libamdhip64.so (#150)
Disable RCCL and load libamdhip64.so as a fix for sw509497.
2025-03-27 16:02:17 +01:00
Yiannis Papadopoulos bf8ab493c4 rocr: Remove unused lambda 2025-03-27 10:33:40 -04:00
Yiannis Papadopoulos b066e0eefa rocr/aie: Resolve parentheses warning 2025-03-27 10:33:40 -04:00
vedithal-amd af76525baa Inject SQ_ACCUM_PREV_HIRES for LEVEL counters only (#641) 2025-03-27 10:24:21 -04:00
Wileam Phan 2805631ccd Fix rocprof-sys-instrument default linkage and visibility criteria (#95)
* Fix default linkage and visibility criteria
* Fix processing of linkage and visibility CLI flags
* Format source

Signed-off-by: Wileam Yonatan Phan <wileamyonatan.phan@amd.com>
Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-03-27 18:33:35 +08:00
Bhardwaj, Gopesh 633a32bad7 Deprecation message update (#320)
* Deprecation message update

* Updated Support DL
2025-03-27 12:29:34 +05:30
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 172707cbd3 External CI: enable trigger for amd-mainline (#30) 2025-03-26 08:24:51 -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 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 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
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 3294c495f5 Improve readability. (#628) 2025-03-25 17:49:42 -04: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 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 983f902fa0 fix the crash related to agent id in rocprofv3 (#631) 2025-03-25 16:33:12 -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 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
Yiannis Papadopoulos a66130bc48 rocr: Release vmem handles before agent destruction 2025-03-25 14:25: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
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
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
David Galiffi e9603238f7 Ignore updates to .wordlist.txt for certain workflows (#148) 2025-03-24 18:16:46 -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 0c0906f238 fix the part that casue _sum counters missing for TCC (#627) 2025-03-24 11:16:03 -04:00
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 4cd121e27b [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>
2025-03-24 12:07:33 +05:30
Trowbridge, Ian cd4676ae6f [SDK] Callback Tracing Iterate Args Support for rocDecode (#294)
Callback tracing for rocdecode created
2025-03-23 19:15:30 -05:00
Madsen, Jonathan 9338b9abc3 Remove rocprofiler-sdk forward decls from public header (#8)
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-22 22:30:55 -05:00
Madsen, Jonathan e33dff7ad0 [SDK][rocprofv3] Buffer tracing records with args (HIP) (#285)
* [SDK][rocprofv3] HIP API buffer records with args (ext)

- New buffer tracing domain(s) for HIP APIs which include the arguments and the return value in the buffer records
- Update HIP stream support for extended HIP buffer tracing
- Update rocprofv3 tool library and output library to use extended HIP buffer tracing recods

* Update stream.cpp

- handle hipStream_t address being reused for a new stream

* Update doxygen docs for rocprofiler_iterate_buffer_tracing_record_args

* Update rocprofv3 tool.cpp

- configure buffer tracing services with HIP_*_API_EXT variants
- tweak logging level for hip_stream_display_callback

* Fix validation tests

- add HIP_RUNTIME_API_EXT and HIP_COMPILER_API_EXT to valid domain names

* Serialization support for buffer tracing args

* Disable stream service for __hipPopCallConfiguration

- this is interpreted as a stream create but it doesn't create a stream

* Fix execute_buffer_record_emplace for HIP extended contexts

* Add uint64_t_retval to rocprofiler_hip_api_retval_t union

- reading in hipError_t_retval during serialization of pointer return value causes undefined behavior

* Fix compilation warning about unused but set parameter

- in hip/stream.cpp

* Add synchronization for async_copy_data

* Fix compilation error

* Fix compilation error

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-22 19:57:32 -05:00
Madsen, Jonathan 2d072f9217 [CI] Miscellaneous Testing Updates (#305)
* Add rocprofiler-sdk-utilities.cmake

- contains cmake function rocprofiler_sdk_get_gfx_architectures

* Update perfetto_reader.py

- fix hash collision

* Update project names in tests folders

- rocprofiler-tests -> rocprofiler-sdk-tests

* Fix incorrect allocation-error handling

* [CI] Disable openmp tests for navi2, navi3, and navi4

* Suppress leaks by omptarget and llvm

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-22 18:51:42 -05:00
Madsen, Jonathan b01465303b [rocprofv3] Support negating aggregate tracing options (#251)
* Support negating aggregate tracing options

- E.g. --runtime-trace --scratch-memory-trace=False

* Add tests

* Update CHANGELOG

* rocprofv3 tweaks

* Added docs update

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
Co-authored-by: Srihari Uttanur <srihari.u@amd.com>
2025-03-21 18:22:39 -05:00
dependabot[bot] ebb21c4bba Bump rocm-docs-core from 1.17.0 to 1.18.1 in /docs/sphinx (#611)
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.17.0 to 1.18.1.
- [Release notes](https://github.com/ROCm/rocm-docs-core/releases)
- [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ROCm/rocm-docs-core/compare/v1.17.0...v1.18.1)

---
updated-dependencies:
- dependency-name: rocm-docs-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-21 17:16:51 -06:00
Pranjal Swarup 1e9a82fe54 Timemory and Dyninst were updated to use BinUtil v2.42 (#146)
Timemory and Dyninst were updated to use BinUtil v2.42 by the default 
Update Dyninst submodule
Update Timemory submodule
2025-03-21 17:23:20 -04:00
Indic, Vladimir 49ce79a5b5 [SDK][rocprofv3] MI300 Stochastic PC sampling (#92)
* MI300 Stochastic PC sampling SDK API implementation

* ROCProfV3: Stochastic PC sampling Support (#94)

* ROCProfV3: MI300 Stochastic PC sampling initial draft

* ROCProfV3: Initial Stochastic PC sampling Tests (#95)

ROCProfV3: Initial Stochastic PC sampling tests

* Update rocprofiler_pc_sampling_record_stochastic_v0_t

- update doxygen docs for members
- replace rocprofiler_correlation_id_t with rocprofiler_async_correlation_id_t

* Relax the check in JSON tests

* drain PC sampling buffer during finalize_rocprofv3

* Increase timeout for "Test Install Build" step

- 10 minutes -> 20 minutes
- "Test Installed Packages" has 20 minutes so "Test Install Build" should also

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-21 14:40:45 -05:00
cfallows-amd fbe5e34a46 Add Alibaba Cloud Linux 3 to distro checking for roofline (#620)
Signed-off-by: Carrie Fallows <Carrie.Fallows@amd.com>
2025-03-21 12:46:17 -04:00