Commit Graph

64521 Commits

Author SHA1 Message Date
xuchen-amd 99a6e67bcc Improve --time-unit arg (#807) 2025-07-24 12:15:52 -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 dbcaccb9de Fix rocprofv3 supported counters not being detected (#832)
* Fix rocprofv3 supported counters not being detected

* Fix rocprof interface deprecation warning appearing twice
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 d4c316a730 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
2025-07-24 11:49:02 -04:00
Honglei Huang 20806577ce rocr: support multiple driver types in agent initialization
Modify agent initialization to support different driver types,
to enable KFD_VIRTIO dirver for CPU and GPU agent here.

1. Add driver_type parameter to CpuAgent and GpuAgent constructors
2. Update topology discovery to handle multiple driver types
3. Fix MakeMemoryResident return value check in VirtioDriver
4. Add helper function IsGPUDriver to check driver types
5. Update agent discovery to iterate through all available drivers

This change makes the runtime more flexible by removing hardcoded KFD
driver assumptions and properly handling different driver backends.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-24 23:20:36 +08:00
Honglei Huang 8f91cd2b03 rocr: support multiple driver types in agent initialization
Modify agent initialization to support different driver types,
to enable KFD_VIRTIO dirver for CPU and GPU agent here.

1. Add driver_type parameter to CpuAgent and GpuAgent constructors
2. Update topology discovery to handle multiple driver types
3. Fix MakeMemoryResident return value check in VirtioDriver
4. Add helper function IsGPUDriver to check driver types
5. Update agent discovery to iterate through all available drivers

This change makes the runtime more flexible by removing hardcoded KFD
driver assumptions and properly handling different driver backends.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>


[ROCm/ROCR-Runtime commit: 20806577ce]
2025-07-24 23:20:36 +08:00
Honglei Huang d36cb195da rocr/driver: add virtio driver support for ROCm runtime
This commit adds virtio driver support to the ROCm runtime by:

1. Implementing KfdVirtioDriver class that inherits from core::Driver
2. Adding KFD_VIRTIO to DriverType enum
3. Registering virtio driver discovery function in topology
4. Adding virtio driver source files to CMake build

The virtio driver implementation provides basic memory management and
queue operations for virtualized GPU environments. Some advanced features
like PC sampling and SMI are currently not supported.

Key changes:
- Add new files: amd_kfd_virtio_driver.h/cpp
- Update CMakeLists.txt to include virtio driver
- Add VIRTIO to DriverType enum in driver.h
- Register virtio driver in amd_topology.cpp

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-24 23:20:36 +08:00
Honglei Huang 8d7d06a867 rocr/driver: add virtio driver support for ROCm runtime
This commit adds virtio driver support to the ROCm runtime by:

1. Implementing KfdVirtioDriver class that inherits from core::Driver
2. Adding KFD_VIRTIO to DriverType enum
3. Registering virtio driver discovery function in topology
4. Adding virtio driver source files to CMake build

The virtio driver implementation provides basic memory management and
queue operations for virtualized GPU environments. Some advanced features
like PC sampling and SMI are currently not supported.

Key changes:
- Add new files: amd_kfd_virtio_driver.h/cpp
- Update CMakeLists.txt to include virtio driver
- Add VIRTIO to DriverType enum in driver.h
- Register virtio driver in amd_topology.cpp

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>


[ROCm/ROCR-Runtime commit: d36cb195da]
2025-07-24 23:20:36 +08:00
Honglei Huang 48d3719dba libhsakmt/virtio: add virtio support for libhsakmt
This patch adds VirtIO support to the libhsakmt library, enabling communication
 with AMD GPUs via VirtIO.

Details
- CMakeLists.txt: Added a new CMakeLists.txt file for the VirtIO component
of libhsakmt.
- hsakmt_virtio.c/h: Implemented the core VirtIO functionality, including
VirtIO GPU device initialization, command execution, and memory management.
- virtio_gpu.c/h: Contains the implementation of the VirtIO GPU device,
including ioctl handling, shared memory management, and command execution.
- hsakmt_virtio_events.c: Implements event handling for VirtIO, such as event
creation, destruction, setting, resetting, and querying event states.
- hsakmt_virtio_memory.c: Manages memory operations for VirtIO, including memory
allocation, freeing, mapping, and unmapping.
- hsakmt_virtio_queues.c: Implements queue management for VirtIO, including
queue creation, destruction, and updating.
- hsakmt_virtio_topology.c: Handles system and node properties for VirtIO.
- hsakmt_virtio_vm.c: Manages VM-related operations for VirtIO, such as
reserving and dereserving VA space.
- include/linux/virtgpu_drm.h: Contains DRM definitions for VirtIO GPU.

Key Features
- VirtIO GPU Initialization: The library can now initialize a VirtIO GPU device
and communicate with it.
- Command Execution: Supports executing commands on the VirtIO GPU device.
- Memory Management: Provides functions for allocating, freeing, mapping, and
unmapping memory for VirtIO operations.
- Event Handling: Implements a comprehensive event system for VirtIO.
- Queue Management: Allows for creating, destroying, and updating queues
on the VirtIO GPU device.
- System and Node Properties: Retrieves and manages system and node
properties for VirtIO.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>
2025-07-24 23:20:36 +08:00
Honglei Huang 5e68bd163a libhsakmt/virtio: add virtio support for libhsakmt
This patch adds VirtIO support to the libhsakmt library, enabling communication
 with AMD GPUs via VirtIO.

Details
- CMakeLists.txt: Added a new CMakeLists.txt file for the VirtIO component
of libhsakmt.
- hsakmt_virtio.c/h: Implemented the core VirtIO functionality, including
VirtIO GPU device initialization, command execution, and memory management.
- virtio_gpu.c/h: Contains the implementation of the VirtIO GPU device,
including ioctl handling, shared memory management, and command execution.
- hsakmt_virtio_events.c: Implements event handling for VirtIO, such as event
creation, destruction, setting, resetting, and querying event states.
- hsakmt_virtio_memory.c: Manages memory operations for VirtIO, including memory
allocation, freeing, mapping, and unmapping.
- hsakmt_virtio_queues.c: Implements queue management for VirtIO, including
queue creation, destruction, and updating.
- hsakmt_virtio_topology.c: Handles system and node properties for VirtIO.
- hsakmt_virtio_vm.c: Manages VM-related operations for VirtIO, such as
reserving and dereserving VA space.
- include/linux/virtgpu_drm.h: Contains DRM definitions for VirtIO GPU.

Key Features
- VirtIO GPU Initialization: The library can now initialize a VirtIO GPU device
and communicate with it.
- Command Execution: Supports executing commands on the VirtIO GPU device.
- Memory Management: Provides functions for allocating, freeing, mapping, and
unmapping memory for VirtIO operations.
- Event Handling: Implements a comprehensive event system for VirtIO.
- Queue Management: Allows for creating, destroying, and updating queues
on the VirtIO GPU device.
- System and Node Properties: Retrieves and manages system and node
properties for VirtIO.

Signed-off-by: Honglei Huang <Honglei1.Huang@amd.com>


[ROCm/ROCR-Runtime commit: 48d3719dba]
2025-07-24 23:20:36 +08:00
U, Srihari f47df6108b [rocprofv3] rocpd doesn't generate output files for counter collection (#480)
* Fix kernel dispatch for counter collection

* Updated change log

* Fix format

* rename output csv file

* Fix warnings

* Address review comment

* Address final review comment

[ROCm/rocprofiler-sdk commit: 3a36fd13fe]
2025-07-24 12:11:36 +05:30
U, Srihari 3a36fd13fe [rocprofv3] rocpd doesn't generate output files for counter collection (#480)
* Fix kernel dispatch for counter collection

* Updated change log

* Fix format

* rename output csv file

* Fix warnings

* Address review comment

* Address final review comment
2025-07-24 12:11:36 +05:30
Galantsev, Dmitrii 758adbc1a3 Profiler - Update counter definitions to match changed api
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rdc commit: 8f3a232613]
2025-07-23 23:27:04 -05:00
Galantsev, Dmitrii 8f3a232613 Profiler - Update counter definitions to match changed api
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-07-23 23:27:04 -05:00
ajanicijamd e2fc692ee0 Allow events to be grouped by HIP stream ID (#274)
- Corelate memory_copy and kernel_dispatch events with their HIP stream_id and add stream_id as an annotation in Perfetto.
- By default, group memory_copy and kernel_dispatch events in Perfetto output by their stream_id.
- Add option, with the configuration setting ROCPROFSYS_ROCM_GROUP_BY_QUEUE, to group by HSA queue instead.

---------

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

[ROCm/rocprofiler-systems commit: 4b4a846b58]
2025-07-23 21:28:26 -04:00
ajanicijamd 4b4a846b58 Allow events to be grouped by HIP stream ID (#274)
- Corelate memory_copy and kernel_dispatch events with their HIP stream_id and add stream_id as an annotation in Perfetto.
- By default, group memory_copy and kernel_dispatch events in Perfetto output by their stream_id.
- Add option, with the configuration setting ROCPROFSYS_ROCM_GROUP_BY_QUEUE, to group by HSA queue instead.

---------

Signed-off-by: David Galiffi <David.Galiffi@amd.com>
Co-authored-by: David Galiffi <David.Galiffi@amd.com>
2025-07-23 21:28:26 -04:00
amd-hsivasun 61299d7598 Update formatting.yml for Rocprofiler-sdk (#7)
* Update formatting.yml

Changed runners to ubuntu-latest instead of AMD-ROCm-Internal-dev1

* Updated rocprofiler-sdk formatting workflow

* Added Sparse Checkouts

* Run in folder

* Check the WD

* List all files

* Added Rocprofiler-register

* Removed working dirs and rocprofiler-register

---------

Co-authored-by: Sivasuntharampillai, Haresh <Haresh.Sivasuntharampillai+amdeng@amd.com>
2025-07-23 18:35:36 -04:00
Fei Zheng b4c626893f Fix L2 read/write/atomic bandwidths on MI350 (#831)
[ROCm/rocprofiler-compute commit: 137f35e700]
2025-07-23 15:46:19 -06:00
Fei Zheng 137f35e700 Fix L2 read/write/atomic bandwidths on MI350 (#831) 2025-07-23 15:46:19 -06:00
Kuricheti, Mythreya df840b67a9 [SDK] Fix context tracing domain bitset overflow (#536)
- Fix context tracing domain bitset overflow
- Previous behavior would enable all flags above ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API when this domain was enabled.

[ROCm/rocprofiler-sdk commit: 2c7f260e62]
2025-07-23 15:52:52 -05:00
Kuricheti, Mythreya 2c7f260e62 [SDK] Fix context tracing domain bitset overflow (#536)
- Fix context tracing domain bitset overflow
- Previous behavior would enable all flags above ROCPROFILER_BUFFER_TRACING_MARKER_CORE_RANGE_API when this domain was enabled.
2025-07-23 15:52:52 -05: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 a70ae40ddc Improve block filtering to accept metric ids (#821)
* Fix tests
* Update CHANGELOG and documentation
2025-07-23 16:16:29 -04:00
Sajina PK 0b57805e20 Fix to find MPI symbols from undefined symbols (#293)
* Fix to find MPI symbols from undefined symbols

* Moved condition checks before

* Fixing format

---------

Co-authored-by: Anuj Shukla <anujshuk@amd.com>

[ROCm/rocprofiler-systems commit: 67ec52b523]
2025-07-23 16:02:05 -04:00
Sajina PK 67ec52b523 Fix to find MPI symbols from undefined symbols (#293)
* Fix to find MPI symbols from undefined symbols

* Moved condition checks before

* Fixing format

---------

Co-authored-by: Anuj Shukla <anujshuk@amd.com>
2025-07-23 16:02:05 -04:00
cfallows-amd f6f3a6ed3e Update standalone roofline intro (#830)
[ROCm/rocprofiler-compute commit: 2a7bbc4cc2]
2025-07-23 15:17:00 -04:00
cfallows-amd 2a7bbc4cc2 Update standalone roofline intro (#830) 2025-07-23 15:17:00 -04:00
Jessey Harrymanoharan 27db3621df remove staging from branches 2025-07-23 14:15:21 -04:00
Jessey Harrymanoharan 655d975e51 Create rocm_ci_caller.yml 2025-07-23 14:05:44 -04:00
Hernandez, Gerardo f47693b755 SWDEV-534207 - fix use of uninitialized variable at hipEventRecord_common() (#771)
[ROCm/clr commit: 2c6ec7df45]
2025-07-23 16:49:12 +05:30
Hernandez, Gerardo 2c6ec7df45 SWDEV-534207 - fix use of uninitialized variable at hipEventRecord_common() (#771) 2025-07-23 16:49:12 +05:30
Shweta Khatri 6015ad1016 rocr: GFX12 - Enable host trap PC Sampling 2025-07-23 06:51:53 -04:00
Shweta Khatri 2bd0f85f80 rocr: GFX12 - Enable host trap PC Sampling
[ROCm/ROCR-Runtime commit: 6015ad1016]
2025-07-23 06:51:53 -04:00
Baraldi, Giovanni 4ca156e572 Thread trace and Trace Decoder API tests and samples (#416)
* Adding test and samples to decoder

* Fix sample

* Formatting

* Fix multi test

* Disable sample

* Fix tests

* Format

* Version fix

* Locking the decoder

* Add atomic

* Review comments

* Format

* Adding readme

* merge conflict and adding PCS+ATT test

* Review comments

* Properly disable PCS test

* Update tests/rocprofv3/advanced-thread-trace/CMakeLists.txt

* Adding back env var test

* Name fix

* Preload sample

* Addressing review comments

* Update docs

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>

[ROCm/rocprofiler-sdk commit: e898079a13]
2025-07-22 20:08:12 -05:00
Baraldi, Giovanni e898079a13 Thread trace and Trace Decoder API tests and samples (#416)
* Adding test and samples to decoder

* Fix sample

* Formatting

* Fix multi test

* Disable sample

* Fix tests

* Format

* Version fix

* Locking the decoder

* Add atomic

* Review comments

* Format

* Adding readme

* merge conflict and adding PCS+ATT test

* Review comments

* Properly disable PCS test

* Update tests/rocprofv3/advanced-thread-trace/CMakeLists.txt

* Adding back env var test

* Name fix

* Preload sample

* Addressing review comments

* Update docs

---------

Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
2025-07-22 20:08:12 -05:00
Baraldi, Giovanni 4f8231fcc9 Adding high bits for ATT buffer size (#171)
* Adding high bits for ATT buffer size

* Copilot review comments

* Add buffer limits

* Update src/pm4/sqtt_builder.h

---------

Co-authored-by: Giovanni <gbaraldi@amd.com>

[ROCm/aqlprofile commit: 0bb1a61e82]
2025-07-22 18:53:55 -04:00
Baraldi, Giovanni 0bb1a61e82 Adding high bits for ATT buffer size (#171)
* Adding high bits for ATT buffer size

* Copilot review comments

* Add buffer limits

* Update src/pm4/sqtt_builder.h

---------

Co-authored-by: Giovanni <gbaraldi@amd.com>
2025-07-22 18:53:55 -04:00
systems-assistant[bot] 53e20372c7 Add 'projects/roctracer/' from commit 'dd745ed9c731cf1c67a182a4ce41ce30afbfb8ca'
git-subtree-dir: projects/roctracer
git-subtree-mainline: d8cba83d42
git-subtree-split: dd745ed9c7
2025-07-22 22:52:51 +00:00
systems-assistant[bot] d8cba83d42 Add 'projects/rocr-runtime/' from commit '72061a9024139fa0a99f73f9d3d4deb275670095'
git-subtree-dir: projects/rocr-runtime
git-subtree-mainline: ad0fb25ed5
git-subtree-split: 72061a9024
2025-07-22 22:52:49 +00:00
systems-assistant[bot] ad0fb25ed5 Add 'projects/rocprofiler-sdk/' from commit 'bf0fad1d5406fbc51403ba1aa9621a9d4a9bce2b'
git-subtree-dir: projects/rocprofiler-sdk
git-subtree-mainline: 50a90550e9
git-subtree-split: bf0fad1d54
2025-07-22 22:52:46 +00:00
systems-assistant[bot] 50a90550e9 Add 'projects/rocprofiler-register/' from commit '37d7d920364c8b10ab592ff79e1c6811d114e6fa'
git-subtree-dir: projects/rocprofiler-register
git-subtree-mainline: 2e5bcec303
git-subtree-split: 37d7d92036
2025-07-22 22:52:44 +00:00
systems-assistant[bot] 2e5bcec303 Add 'projects/rocprofiler/' from commit '16ae2e90c6157e98e846d2bccbaaf533ca5e662a'
git-subtree-dir: projects/rocprofiler
git-subtree-mainline: 2a52e3974d
git-subtree-split: 16ae2e90c6
2025-07-22 22:52:43 +00:00
systems-assistant[bot] 2a52e3974d Add 'projects/rocm-smi-lib/' from commit '7dba992ebd1beef78ec78d0d2974d6aa531786ff'
git-subtree-dir: projects/rocm-smi-lib
git-subtree-mainline: 25536e61be
git-subtree-split: 7dba992ebd
2025-07-22 22:52:41 +00:00
systems-assistant[bot] 25536e61be Add 'projects/rocminfo/' from commit 'cd0f8c6173acb803c3d871fe2bcc795bd7768c34'
git-subtree-dir: projects/rocminfo
git-subtree-mainline: ae5decac0f
git-subtree-split: cd0f8c6173
2025-07-22 22:52:39 +00:00
systems-assistant[bot] ae5decac0f Add 'projects/rocm-core/' from commit '75be79f4708a419d3755500ca67ed9ec062e15bf'
git-subtree-dir: projects/rocm-core
git-subtree-mainline: c2312be1a2
git-subtree-split: 75be79f470
2025-07-22 22:52:38 +00:00
systems-assistant[bot] c2312be1a2 Add 'projects/rdc/' from commit '5ae7eeb3550d4cb14cbc31d3022e545b054f1ad1'
git-subtree-dir: projects/rdc
git-subtree-mainline: a68afa42a1
git-subtree-split: 5ae7eeb355
2025-07-22 22:52:37 +00:00
systems-assistant[bot] a68afa42a1 Add 'projects/aqlprofile/' from commit '6f236ffb5f1bd128e11ba0bf09e3c0a52b6527e4'
git-subtree-dir: projects/aqlprofile
git-subtree-mainline: 9011821e05
git-subtree-split: 6f236ffb5f
2025-07-22 22:52:36 +00:00
Joseph Macaranas 9011821e05 Fix repo paths 2025-07-22 18:51:42 -04:00
Joseph Macaranas 2b636613a4 Merge branch 'develop' of github.com:ROCm/rocm-systems into develop 2025-07-22 18:41:02 -04:00