Commit Graph

10773 Commits

Author SHA1 Message Date
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
Madsen, Jonathan 8f1cb6417a Record loaded runtimes (#6)
* 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]
2025-03-21 04:36:58 -05:00
Madsen, Jonathan fc712350ef Record loaded runtimes (#6)
* 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>
2025-03-21 04:36:58 -05:00
Bhardwaj, Gopesh c06feccf2a Potential fix for code scanning alert no. 24: Use of potentially dangerous function (#220)
* 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>
2025-03-21 14:21:49 +05:30
Madsen, Jonathan e820b8862a Logging updates (#7)
* 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]
2025-03-21 01:23:45 -05:00
Madsen, Jonathan cb1b430251 Logging updates (#7)
* 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>
2025-03-21 01:23:45 -05:00
xuchen-amd 2e7f82aa13 Improve chip info logic. (#581)
* 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>
2025-03-21 02:02:58 -04:00
Kuricheti, Mythreya f27f76716e [SDK] Add Stack IDs (#269)
* 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
2025-03-21 00:52:48 -05:00
Vaddireddy, Sushma ae0db8cee5 [SDK] Model Name fix for rocprofiler_lib.agent (#298)
* Model Name fix for rocprofiler_lib.agent

* fixing format

* formatting source

* Adding comments and example

---------

Co-authored-by: Sushma Vaddireddy <svaddire@amd.com>
2025-03-20 22:06:53 -05:00
Ramakrishnan, Ranjith 0a227e6b9e [CPack] Prevent the modification of interpreter directives (#278)
* 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
2025-03-20 21:13:25 -05:00
Madsen, Jonathan 66e9dc54e9 [SDK] Memory copy src and dst addresses (#282)
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-20 21:10:19 -05:00
ywang103-amd b596098d14 Revert "fix the error of output path of multi-node mode (#616)" (#621) 2025-03-20 22:03:02 -04:00
Kuricheti, Mythreya 6b6e17973f [CI] Disable debug annotations for page-migration test (#291)
fix: Disable debug annotations in test

Fixup of PR: disable perfetto debug annotations in json tool
2025-03-20 20:55:26 -05:00
ywang103-amd 46e15dc840 TCC per channel metric's fix for rocprofv3 (#597) 2025-03-20 20:09:27 -04:00
Madsen, Jonathan 8ac1265bc9 [CI] Update scratch-memory-tracing test (#304)
* Update scratch-memory-tracing test

* Update cmake/rocprofiler_{formatting,linting}.cmake

- fix typo: ROCPROFILE_CLANG_{FORMAT,TIDY}_EXE -> ROCPROFILER_CLANG_{FORMAT,TIDY}_EXE

* Disable assertion in tracing-hip-in-libraries validation

---------

Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-20 18:57:09 -05:00
Castillo, Juan f69e65f7bd SWDEV-518214: GPU Metrics 1.8 (#31)
* 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>
2025-03-20 18:07:32 -05:00
Madsen, Jonathan 91f7f42104 [SDK] Update finalization and correlation ID retirement (#281)
* 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>
2025-03-20 16:59:23 -05:00
Baraldi, Giovanni b21452ec11 Fix for ATT codeobj table initialization (#290)
* Fix for codeobj HSA table order

* Fix tests

* Format

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
2025-03-20 14:27:46 -07:00
Srihari Uttanur c9ca876b79 Add perfetto support for counter collection
Fix endtimestamp for counter tracks

Add fix for rocprofv3 counter collection tests

Fix formats and refactors

Added docs and addressed review comments

Address more review comments.
2025-03-21 01:41:19 +05:30
David Galiffi 9b7d70fcc8 Add extra validation to the openmp target ctest (#141)
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.
2025-03-20 15:18:25 -04:00
Bhardwaj, Gopesh 4dcb239872 [CI] Disable OpenMP test for sanitizers (#296)
* Disable openmp test for sanitizers

* fixing review feedback
2025-03-20 13:56:14 -05:00
David Galiffi 9c6be7433a Update CHANGELOG.md (#142)
* Update CHANGELOG.md
2025-03-20 12:33:48 -04:00
Bhardwaj, Gopesh 4735196fe4 changing markdown to rst format (#259)
* changing markdown extension to rst extension

* updating callback services

* updating all services, ssamples and installtion

* Fix build

* More fixes

* more fixes

* minor fixes

* more fixes

* merging changes for SWDEV-510794 from pr 227
2025-03-20 11:09:53 -05:00
Adel Johar d8d27d4fd6 Docs: Add more variables to env_variables.rst 2025-03-20 11:59:58 -04:00
Madsen, Jonathan bcc15a28d0 [rocprofiler-sdk-att] Minor cmake update (#283)
Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com>
2025-03-20 10:57:35 -05:00
Lang Yu 89926f5b0b rocrtst: fix rocrtst.Test_Example
VerifyResult always returns true. That's not expected.

Signed-off-by: Lang Yu <lang.yu@amd.com>
2025-03-20 12:57:52 +08:00
Galantsev, Dmitrii 929041b556 Fix amdsmi_get_power_info API
This change creates a workaround for a broken C api in amdsmi.

amdsmi_get_power_info API is broken in rocm 6.4.0 (amdsmi 25.2) and is fixed
in rocm 6.4.1 (amdsmi 25.3).

Breaking AMDSMI change:
https://github.com/ROCm/amdsmi/commit/dc4a16da6fb45d581a6e23c78d340172989418a0

Change-Id: Ib45a2702aa722c7735f3ccd1081d8f62e4d34216
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-03-19 23:12:45 -05:00
vedithal-amd 40ad99eae1 Update default PR reviewers (#617) 2025-03-19 16:00:28 -04:00
ajanicijamd 26bb604215 Fix a RCCL initialization to avoid a deadlock (#136)
Also fixes: 

- crash while finalizing rocprof-sys-causal
2025-03-19 14:48:04 -04:00
Shweta Khatri 2ae70735e8 rocr: Fix PcSamplingCreateFromId to pass 32-bit dword count to DmaFill
In PcSamplingCreateFromId, convert number of bytes into number of
dwords because DmaFill expects a count of 32-bit words, not raw bytes.
This prevents OOB writes on large sampling buffers.
2025-03-19 14:42:41 -04:00
Lao, Darren cd4d236185 rocr: Change ISA grid dimensions
Signed-off-by: Lao, Darren <Darren.Lao@amd.com>
2025-03-19 13:44:17 -04:00
Tim Gu 0a28e0a54a Update build instructions 2025-03-18 19:54:20 -04:00
ywang103-amd 23b42e90c9 fix the error of output path of multi-node mode (#616)
* solve the error that makes name passed by -n not used in multi-node applications

* isort and black formatted
2025-03-18 17:19:19 -04:00
randyh62 e2f3e8c0de fix license include path 2025-03-18 16:29:10 -04:00
David Yat Sin ce0244ac03 Revert rocr: Only expose ext-fine-grain pool on xgmi-hive systems
This reverts commit 6dac90c89a.
2025-03-18 16:28:36 -04:00
jordans d4b85b6bf5 hsakmt: Initial Commit for the HSA KMT Model
The over arching goal it so provide an API that pre-silicon models can latch into for software bring up.# Please enter the commit message for your changes. Lines starting
2025-03-18 16:22:17 -04:00
vedithal-amd 45b8937d5d 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
2025-03-18 11:26:45 -04:00
vedithal-amd 64ccd588de 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
2025-03-18 11:26:17 -04:00
Bhardwaj, Gopesh e0859f7d33 fix building OpenMP test target (#292)
* fix building openmp test target

* cmake format correction

* cmake format correction
2025-03-18 14:16:18 +05:30
David Yat Sin 6903a41b1d rocr: Workaround for SDMA POLL_REGMEM on gfx9.0
Poll the dependent signals twice on all gfx9.0 GPUs except gfx90a.
This is needed as a work-around for a rare issue where SDMA_POLL_REGMEM
may return before the memory is actually cleared.
2025-03-17 17:59:15 -04:00
Ben Richard 96a25e8cbc Remove dependency on en_US.UTF-8 locale (#613)
Set locale to C.utf8 instead of en_US.UTF-8

Avoid forcing the user to use en_US.UTF-8. Most Linux systems have C.utf8.
2025-03-17 16:40:36 -04:00
Bhardwaj, Gopesh f5c9663c51 removing gfx940 and gfx941 targets (#286)
* removing gfx940 and gfx941 targets

* updated changelog
2025-03-17 15:21:12 -05:00
ywang103-amd 0c6cec5671 replace rocm-smi with amd-smi cmd (#612) 2025-03-17 16:20:41 -04:00
Vaddireddy, Sushma 09c7d44cc4 MI355X Support - PC Sampling and updating counter_defs.yaml (#206)
* Update mi350/gfx950 counter_defs.yaml (#131)

* Update gfx950 counter_defs.yaml

* Update F8 MFMA for gfx950

* Update counter_defs.yaml

* Update counter_defs.yaml

* add simd_util counter

* add new rdc ops gfx950

* Update counter_defs.yaml

* New mi350 CPC counters

* Update counter_defs.yaml

* New mi350 spi counters

* Update new mi350 sq counter_defs.yaml

* Update TA counter_defs.yaml

* Update TD GFX950counter_defs.yaml

* Update TCP gfx950 counter_defs.yaml

* Update new gfx950 tcc counter_defs.yaml

* Update TCP_PENDING_STALL_CYCLES counter_defs.yaml

* MI355X Host-Trap PC sampling Support (#130)

* Adding gfx12 to CU_NUM

* Add ELFABIVERSION_AMDGPU_HSA_V6

* add gfx950 to TEST_YAML_LOAD metric

* add gfx950 to append counters tests

* Updated CHANGELOG.md

---------

Co-authored-by: Kandula, Venkateshwar reddy <Venkateshwarreddy.Kandula@amd.com>
Co-authored-by: Indic, Vladimir <Vladimir.Indic@amd.com>
Co-authored-by: Bhardwaj, Gopesh <Gopesh.Bhardwaj@amd.com>
Co-authored-by: Madsen, Jonathan <Jonathan.Madsen@amd.com>
2025-03-17 15:20:40 -05:00