Commit Graph

64512 Commits

Author SHA1 Message Date
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
Joseph Macaranas d8226144f8 Changing json file to add new subtrees 2025-07-22 18:41:00 -04:00
vedithal-amd 6c8b834f5c Fix tests and formatting (#826)
[ROCm/rocprofiler-compute commit: 068e5aaef4]
2025-07-22 17:49:16 -04:00
vedithal-amd 068e5aaef4 Fix tests and formatting (#826) 2025-07-22 17:49:16 -04:00
Kandula, Venkateshwar reddy 0ff0ffffa2 [SDK] Expose counter dims in rocprofiler_counter_info_v1_t and only show counters being profiled in metadata. (#325)
* expose dimensional info in rocprofiler_counter_info_v1_t.

* add counter_id in dim info.

* address review comments

* format.

* address comments.

* use array of pointers for dimensions_instaces.

* format and comments.

* address comments.

* new line.

* Update counter_defs.yaml

* Update counter_defs.yaml

* Update counter_defs.yaml

* counter_defs.

* format counter defs.

* format counter defs.

* format counter defs.

* show only counters being profiled in metadata.

* Format.

* use config for counters and fix warnings.

* add version for rocprofiler_counter_dimension_info_v1_t struct.

* rename rocprofiler_counter_record_dimension_instance_v1_info_t.

* account device id from pmc for counters metadata.

* move dim structs to counters.h.

* address comments to compare value.

* fix tests.

* Address comments. use pointer of arrays for ABI.

* rebase.

* fix build error.

* use separate metadata::init() for rocprofv3.

* also print not found counters.

* precompute all the perf counters needed to be in metadata.

* Misc.

* format

* Format.

* rocprofiler::sdk::container::c_array

* Address comments.

* source/lib/output/metadata.cpp

* lint.

* add unit test for c_array.

* add unit test and serialization support for c_array container.

* Misc.

* Clean files.

* Format.

* clang-tidy.

* add more checks to c_array.

* misc. typo

* Addr comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>

[ROCm/rocprofiler-sdk commit: bf0fad1d54]
2025-07-22 14:24:25 -07:00
Kandula, Venkateshwar reddy bf0fad1d54 [SDK] Expose counter dims in rocprofiler_counter_info_v1_t and only show counters being profiled in metadata. (#325)
* expose dimensional info in rocprofiler_counter_info_v1_t.

* add counter_id in dim info.

* address review comments

* format.

* address comments.

* use array of pointers for dimensions_instaces.

* format and comments.

* address comments.

* new line.

* Update counter_defs.yaml

* Update counter_defs.yaml

* Update counter_defs.yaml

* counter_defs.

* format counter defs.

* format counter defs.

* format counter defs.

* show only counters being profiled in metadata.

* Format.

* use config for counters and fix warnings.

* add version for rocprofiler_counter_dimension_info_v1_t struct.

* rename rocprofiler_counter_record_dimension_instance_v1_info_t.

* account device id from pmc for counters metadata.

* move dim structs to counters.h.

* address comments to compare value.

* fix tests.

* Address comments. use pointer of arrays for ABI.

* rebase.

* fix build error.

* use separate metadata::init() for rocprofv3.

* also print not found counters.

* precompute all the perf counters needed to be in metadata.

* Misc.

* format

* Format.

* rocprofiler::sdk::container::c_array

* Address comments.

* source/lib/output/metadata.cpp

* lint.

* add unit test for c_array.

* add unit test and serialization support for c_array container.

* Misc.

* Clean files.

* Format.

* clang-tidy.

* add more checks to c_array.

* misc. typo

* Addr comments.

---------

Co-authored-by: Venkateshwar Reddy Kandula <vkandula@amd.com>
Co-authored-by: Jonathan R. Madsen <Jonathan.Madsen@amd.com>
2025-07-22 14:24:25 -07:00
Galantsev, Dmitrii 213ccc7e72 RVS - Fix iet_stress by disabling logging
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rdc commit: 3f2f92a37a]
2025-07-22 16:02:14 -05:00
Galantsev, Dmitrii 3f2f92a37a RVS - Fix iet_stress by disabling logging
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-07-22 16:02:14 -05:00
Galantsev, Dmitrii 8fc1d27ecd Profiler - Remove UUID metric
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>


[ROCm/rdc commit: 059451d48f]
2025-07-22 14:55:28 -05:00
Galantsev, Dmitrii 059451d48f Profiler - Remove UUID metric
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-07-22 14:55:28 -05:00