* [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>
Timemory and Dyninst were updated to use BinUtil v2.42 by the default
Update Dyninst submodule
Update Timemory submodule
[ROCm/rocprofiler-systems commit: 1e9a82fe54]
* 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>
[ROCm/rocprofiler-sdk commit: 49ce79a5b5]
* 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>
* Provide rocprofiler_register_iterate_registration_info function
- stores the runtime arguments for later reference
* Fix compilation error
* Removed unused variable
* Store api tables in vector
* Update license
* Replace global_mutex usage with scoped_count
- in rocp_invoke_registrations
* Formatting
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-register commit: fc712350ef]
* Provide rocprofiler_register_iterate_registration_info function
- stores the runtime arguments for later reference
* Fix compilation error
* Removed unused variable
* Store api tables in vector
* Update license
* Replace global_mutex usage with scoped_count
- in rocp_invoke_registrations
* Formatting
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
* Potential fix for code scanning alert no. 24: Use of potentially dangerous function
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* clang-format fix
* use std::localtime_r instead of localtime.
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* localtime_r is defined in global namespace.
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
[ROCm/rocprofiler-sdk commit: c06feccf2a]
* Potential fix for code scanning alert no. 24: Use of potentially dangerous function
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* clang-format fix
* use std::localtime_r instead of localtime.
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* localtime_r is defined in global namespace.
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
* General logging updates
* ROCm 6.1.x fatal defect: unconditional abort if tool found but rocprofiler-sdk missing
- Adding rocprofiler-sdk support breaks backwards compatibility in ROCm 6.1.x because `rocprofiler_configure` symbol triggers looking for rocprofiler-sdk library (which was not released until ROCm 6.2)
- Bump version to 0.5.0
* revert to using fatal error
* Include header updates
* Fix CodeQL suggestions
* CMake and CI updates
- minimum cmake version is 3.22.0
- added requirements.txt
- improved rocprofiler_register_{formatting,linting}.cmake
* Disable deprecated declarations warnings
* Use "overwrite" instead of "override"
- override is a keyword in C++
* Disable REQUIRED for formatting and linting when BUILD_DEVELOPER=ON
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-register commit: cb1b430251]
* General logging updates
* ROCm 6.1.x fatal defect: unconditional abort if tool found but rocprofiler-sdk missing
- Adding rocprofiler-sdk support breaks backwards compatibility in ROCm 6.1.x because `rocprofiler_configure` symbol triggers looking for rocprofiler-sdk library (which was not released until ROCm 6.2)
- Bump version to 0.5.0
* revert to using fatal error
* Include header updates
* Fix CodeQL suggestions
* CMake and CI updates
- minimum cmake version is 3.22.0
- added requirements.txt
- improved rocprofiler_register_{formatting,linting}.cmake
* Disable deprecated declarations warnings
* Use "overwrite" instead of "override"
- override is a keyword in C++
* Disable REQUIRED for formatting and linting when BUILD_DEVELOPER=ON
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
* Clean up unused functions.
* Fix number of XCDs for MI300X CPX (core partition).
* Add support for memory partition mode.
* Modify total_xcd to adapt to all gpu models.
* Run black and isort.
* Make gpu_arch regex more generic.
* Add error checking for compute partition mode num xcds.
* Set gpu_chip_id as optional.
* Fix get_gpu_model.
---------
Signed-off-by: xuchen-amd <xuchen@amd.com>
[ROCm/rocprofiler-compute commit: 2e7f82aa13]
* Clean up unused functions.
* Fix number of XCDs for MI300X CPX (core partition).
* Add support for memory partition mode.
* Modify total_xcd to adapt to all gpu models.
* Run black and isort.
* Make gpu_arch regex more generic.
* Add error checking for compute partition mode num xcds.
* Set gpu_chip_id as optional.
* Fix get_gpu_model.
---------
Signed-off-by: xuchen-amd <xuchen@amd.com>
* Add Stack IDs
* Add memcpy test
* Add async corr id record
* Async events use `rocprofiler_async_correlation_id_t`
* Sync events use `rocprofiler_correlation_id_t`
* Update ATT to use asnyc IDs
* Review comments
[ROCm/rocprofiler-sdk commit: f27f76716e]
* Add Stack IDs
* Add memcpy test
* Add async corr id record
* Async events use `rocprofiler_async_correlation_id_t`
* Sync events use `rocprofiler_correlation_id_t`
* Update ATT to use asnyc IDs
* Review comments
* Model Name fix for rocprofiler_lib.agent
* fixing format
* formatting source
* Adding comments and example
---------
Co-authored-by: Sushma Vaddireddy <svaddire@amd.com>
[ROCm/rocprofiler-sdk commit: ae0db8cee5]
* Model Name fix for rocprofiler_lib.agent
* fixing format
* formatting source
* Adding comments and example
---------
Co-authored-by: Sushma Vaddireddy <svaddire@amd.com>
* SWDEV-521309 - Prevent the modification of interpreter directives
CPACK is converting /usr/bin/env python3 to /usr/libexec/platform-python in RHEL8.
Undefining __brp_mangle_shebangs will prevent the same
* Correct the cmake format
[ROCm/rocprofiler-sdk commit: 0a227e6b9e]
* SWDEV-521309 - Prevent the modification of interpreter directives
CPACK is converting /usr/bin/env python3 to /usr/libexec/platform-python in RHEL8.
Undefining __brp_mangle_shebangs will prevent the same
* Correct the cmake format
* SWDEV-518214: GPU Metrics 1.8 (#31)
- Updates:
- Adding the following metrics to allow new calculations for violation status:
- Per XCP metrics gfx_below_host_limit_ppt_acc
- Per XCP metrics gfx_below_host_limit_thm_acc
- Per XCP metrics gfx_low_utilization_acc
- Per XCP metrics gfx_below_host_limit_total_acc
- Increasing available JPEG engines to 40. Current ASICs may not support all 40. These will be indicated as UINT16_MAX or N/A in CLI.
Signed-off-by: Juan Castillo <juan.castillo@amd.com>
Co-authored-by: Charis Poag <Charis.Poag@amd.com>
[ROCm/rocm_smi_lib commit: f69e65f7bd]
* SWDEV-518214: GPU Metrics 1.8 (#31)
- Updates:
- Adding the following metrics to allow new calculations for violation status:
- Per XCP metrics gfx_below_host_limit_ppt_acc
- Per XCP metrics gfx_below_host_limit_thm_acc
- Per XCP metrics gfx_low_utilization_acc
- Per XCP metrics gfx_below_host_limit_total_acc
- Increasing available JPEG engines to 40. Current ASICs may not support all 40. These will be indicated as UINT16_MAX or N/A in CLI.
Signed-off-by: Juan Castillo <juan.castillo@amd.com>
Co-authored-by: Charis Poag <Charis.Poag@amd.com>
* Update finalization and correlation ID retirement
- directly invoke finalize if only one client
- correlation_id_finalize
* Address PR comments
* Improve logging for correlation_id_finalize
* Fix correlation ID handling in memory allocation service
* Fix clang-tidy issues in hsa-memory-allocation test exe
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
[ROCm/rocprofiler-sdk commit: 91f7f42104]
* Update finalization and correlation ID retirement
- directly invoke finalize if only one client
- correlation_id_finalize
* Address PR comments
* Improve logging for correlation_id_finalize
* Fix correlation ID handling in memory allocation service
* Fix clang-tidy issues in hsa-memory-allocation test exe
---------
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
* Fix for codeobj HSA table order
* Fix tests
* Format
---------
Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
[ROCm/rocprofiler-sdk commit: b21452ec11]
Update openmp-target ctest.
- Add a validation step to check the proto file for the offloaded kernel name
- Update the validation script to add an option to validate a substring of the perfetto label rather than an exact match.
[ROCm/rocprofiler-systems commit: 9b7d70fcc8]
Update openmp-target ctest.
- Add a validation step to check the proto file for the offloaded kernel name
- Update the validation script to add an option to validate a substring of the perfetto label rather than an exact match.