Commit Graph

74713 Commits

Author SHA1 Message Date
yangsu13 e55a439c13 wsl/librocdxg: Change hsaKmtQueueRingDoorbell interface
PR: https://github.com/ROCm/rocm-systems/pull/2068/commits/a87adf6444faf9bd841e9fdd38335aa8008b2d06

Signed-off-by: yangsu13 <Yang.Su2@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
2025-12-10 14:08:35 +08:00
Mario Limonciello 73778bf83c Adjust policy for memory display on APUs (#1967)
* Read the ids_flags when fetching GPU info

The ids_flags contains the flags that can help identify if a GPU
is a dGPU or an APU.

* Show correct memory pool for APUs

The kernel policy for APUs will be to choose the bigger pool of
memory (GTT or VRAM) for KFD work.  Adjust the policy for the monitor
and default commands to show the right memory pool when using an APU.
2025-12-09 21:49:06 -06:00
Geo Min 2e0abab81a [ci] Bumping TheRock CI commit hash (#2097)
* Bumping TheRock CI commit hasH

* fixing artifact group

[ROCm/rccl commit: 6af9087b0c]
2025-12-09 16:25:57 -08:00
Geo Min 6af9087b0c [ci] Bumping TheRock CI commit hash (#2097)
* Bumping TheRock CI commit hasH

* fixing artifact group
2025-12-09 16:25:57 -08:00
Geo Min 879d010974 Bumping commit hash for TheRock (#2244) 2025-12-09 14:56:20 -08:00
Maisam Arif 63da8d2e08 [SWDEV-568673] Updated Docmentation Examples for Python APIs (#2017)
* [SWDEV-568673] Updated Docmentation Examples for Python APIs

* amdsmi_get_processor_type
* amdsmi_gpu_create_counter
* amdsmi_gpu_destroy_counter

Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>

* [SWDEV-568997] - Updated Docmentation Examples for Python APIs

* amdsmi_topo_get_p2p_status

Signed-off-by: Sumanth Gavini <sumanth.gavini@amd.com>

* [SWDEV-568997] - Updated Docmentation Examples for Python APIs

* [SWDEV-568997] - amdsmi_topo_get_p2p_status
* [SWDEV-568990] - amdsmi_set_gpu_clk_range
* [SWDEV-568987] - amdsmi_set_gpu_od_clk_info
* [SWDEV-568969] - AmdSmiEventReader
* [SWDEV-568964] - amdsmi_set_gpu_power_profile
* [SWDEV-568953] - amdsmi_gpu_create_counter
* [SWDEV-568939] - amdsmi_set_cpu_pcie_link_rate
* [SWDEV-568937] - amdsmi_get_cpu_socket_lclk_dpm_level

Signed-off-by: Sumanth Gavini <sumanth.gavini@amd.com>

* Fixes:
    SWDEV-568716 [TCT][amd-smi]: NameError: name 'handle' is not defined when calling amdsmi_get_processor_handles(handle)
    SWDEV-568726 [TCT][amd-smi]: TypeError: list indices must be integers or slices, not str when accessing cache_values['cache_properties']
    SWDEV-568526 [TCT][amd-smi]: AMD SMI Python API Documentation Error – Incorrect variable name in sample code
    SWDEV-569017 [TCT][amd-smi]: correction required for amdsmi_set_clk_freq API in python API document page
    SWDEV-569025 [TCT][amd-smi]: amdsmi_get_link_metrics python API raises key error, correction required in python API sample documentation

Signed-off-by: Joseph Narlo <joseph.narlo@amd.com>

* Fix: SWDEV-568727 [TCT][amd-smi]: Mandatory arguements 'encoding' and 'link_name' needs to be updated in Python API Sample documentation

Signed-off-by: amd-josnarlo <josnarlo.amd.com>

---------

Signed-off-by: Maisam Arif <Maisam.Arif@amd.com>
Signed-off-by: Sumanth Gavini <sumanth.gavini@amd.com>
Signed-off-by: Joseph Narlo <joseph.narlo@amd.com>
Signed-off-by: amd-josnarlo <josnarlo.amd.com>
Co-authored-by: Sumanth Gavini <sumanth.gavini@amd.com>
Co-authored-by: Joseph Narlo <joseph.narlo@amd.com>
Co-authored-by: amd-josnarlo <josnarlo.amd.com>
2025-12-09 16:16:50 -06:00
Jason Bonnell 74cf2a85ec Fix rocprofiler-sdk CI workflow tarball install errors (#2225)
* Add ls statement for debugging /opt directory file naming

* Update ROCM_VERSION from 7.0.0 to 7.1.1 in SDK CI

* Update amdgpu debian package for Ubuntu in Dockerfile.ci

* disable HIP/CLR build in codeql (#2242)

---------

Co-authored-by: Venkateshwar Reddy Kandula <Venkateshwarreddy.Kandula@amd.com>
2025-12-09 16:06:35 -05:00
Rahul Manocha af5c453551 hip-tests: Enable standalone test targets with cmake (#2189)
Co-authored-by: Rahul Manocha <rmanocha@amd.com>
2025-12-09 11:07:42 -08:00
Dominic Widdows 75bea883e1 Remove redirect notice from redirect target (#2104)
README is copied from https://github.com/ROCm/clr which redirects to target
https://github.com/ROCm/rocm-systems/tree/develop/projects/clr

This is correct for https://github.com/ROCm/clr I think, but unnecessary for https://github.com/ROCm/rocm-systems/edit/develop/projects/clr/README.md which is already the correct redirect target.
2025-12-09 10:47:51 -08:00
Benjamin Welton 65c048e918 Change rocprofiler-sdk CMake compatibility to AnyNewerVersion (#1632)
* Change rocprofiler-sdk CMake compatibility to AnyNewerVersion

Update CMake package version compatibility from SameMinorVersion to
AnyNewerVersion to allow downstream packages (like RDC) to use newer
versions of rocprofiler-sdk without requiring exact minor version match.

This fixes compatibility issues where RDC requests 1.0.0 but finds 1.1.0.

* Update projects/rocprofiler-sdk/cmake/rocprofiler_config_install.cmake

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Change rocpd and roctx CMake compatibility to SameMajorVersion

Update COMPATIBILITY setting from SameMinorVersion to SameMajorVersion
for both rocpd and roctx packages to allow compatibility across major
version boundaries.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-09 09:51:55 -08:00
Swati Rawat 87e61f514c Update ROCTracer README for the GitHub link (#1745)
* Update README for the GitHub link

* Updating links to rocm-systems
2025-12-09 09:42:48 -08:00
Larry Meadows 938fe1ca8e Add missing formatters for ompt_mutex_t and ompt_target_t. (#1343)
This are used by rocprofiler-system when it
    generates perfetto output.
2025-12-09 11:40:48 -06:00
Victor Zhang aaecffa50b SWDEV-568847 - prevent UAF when registering callbacks on completed events (#2066)
* SWDEV-568847 - prevent UAF when registering callbacks on completed events

* cache the status() of event earlier

* Update command.cpp

* revert cl_event.cpp

* Update cl_event.cpp

---------

Co-authored-by: cadolphe-amd <chris.adolphe@amd.com>
2025-12-09 11:38:45 -05:00
Aurelien Bouteiller 92459fa840 Update version to 3.2.0 for 7.2.0 rocm release (#351)
[ROCm/rocshmem commit: ef5f2be215]
2025-12-09 10:26:55 -05:00
Aurelien Bouteiller ef5f2be215 Update version to 3.2.0 for 7.2.0 rocm release (#351) 2025-12-09 10:26:55 -05:00
Jatin Chaudhary eea93d58a2 SWDEV-554626 - return correct error code (#1107)
* SWDEV-554626 - return hipErrorInvalidDeviceFunction when we can not load module
Return correct error code when modules are empty

* Match the error codes

* Revert the error code
2025-12-09 16:10:25 +01:00
Anatolii Rozanov f98c72d627 Add host API for *_on_stream operations (#340)
* Add functional test for barrier_all_on_stream

* Add rocshmem_barrier_all_on_stream support for GDA and RO backends

Implements rocshmem_barrier_all_on_stream operation for
GPU Direct Access and Reverse Offload backends.

Previously, rocshmem_barrier_all_on_stream was only supported for IPC backend.

* Add functional test for rocshmem_broadcastmem_on_stream

* Add host-side rocshmem_broadcastmem_on_stream API

Implement stream-based broadcast collective operation

- Add rocshmem_broadcastmem_on_stream host API and kernel implementation
- Add functional test TeamBroadcastmemOnStreamTester with multi-stream
  support and correctness verification
- Use per-workgroup contexts to avoid contention across parallel streams

API:
rocshmem_broadcastmem_on_stream(team, dest, source, nelems, pe_root, stream)

* Add functional test for rocshmem_getmem_on_stream

* Add host-side rocshmem_getmem_on_stream API

Implement stream-based point-to-point RMA get operation

- Add rocshmem_getmem_on_stream host API and kernel implementation
- Support for asynchronous getmem operations on HIP streams
- Add backend support for GDA, RO, and IPC contexts
- Use work-group collective getmem for efficient memory transfer

API:
rocshmem_getmem_on_stream(dest, source, nelems, pe, stream)

(AI Assist)

* Add host-side rocshmem_putmem_on_stream API

- Add rocshmem_putmem_on_stream for asynchronous remote writes
- Support for concurrent RMA operations on HIP streams
- Add backend support for GDA, RO, and IPC contexts
- Use work-group device collective operation

API:
rocshmem_putmem_on_stream(dest, source, bytes, pe, stream)

(AI Assist)

* Add functional test for rocshmem_putmem_on_stream

* Add host-side rocshmem_putmem_signal_on_stream API

Enables asynchronous putmem operations with signaling on HIP streams.

The implementation includes:
- Kernel wrapper rocshmem_putmem_signal_kernel
- Host interface putmem_signal_on_stream method
- Context layer support across all backends (IPC, GDA, RO)
- Public API

Function signature:
void rocshmem_putmem_signal_on_stream(void *dest, const void *source,
                                      size_t bytes, uint64_t *sig_addr,
                                      uint64_t signal, int sig_op,
                                      int pe, hipStream_t stream);

* Add functional test for rocshmem_putmem_signal_on_stream

* Add host-side rocshmem_signal_wait_until_on_stream API

Enables asynchronous signal wait operations on HIP streams.

The implementation includes:
- Kernel wrapper rocshmem_signal_wait_until_kernel
- Host interface signal_wait_until_on_stream method
- Context layer support across all backends (IPC, GDA, RO)
- Native uint64_t support in wait_until API (generated from P2P_SYNC.py)

Function signature:
void rocshmem_signal_wait_until_on_stream(uint64_t *sig_addr, int cmp,
                                          uint64_t cmp_value,
                                          hipStream_t stream);

(AI Assist)

* Add functional test for rocshmem_signal_wait_until_on_stream

* Add documentation for stream API functions

This commit adds API documentation for the following host-side
stream functions:

- rocshmem_barrier_all_on_stream (collective routines)
- rocshmem_broadcastmem_on_stream (collective routines)
- rocshmem_getmem_on_stream (RMA operations)
- rocshmem_putmem_on_stream (RMA operations)
- rocshmem_putmem_signal_on_stream (signaling operations)
- rocshmem_signal_wait_until_on_stream (point-to-point sync)

The documentation includes function signatures, parameter descriptions,
and detailed explanations of asynchronous behavior and stream handling.

(AI Assist)

* Rename "bytes" -> "nelems"

* Add "_TEST_" to the variables used in tests

* Remove incorrect hipStreamDefault usage

hipStreamDefault is not a default stream. This is a flag.

If stream == nullptr, then just pass it to kernel. It will launch the kernel on the default stream

[ROCm/rocshmem commit: d0c8380650]
2025-12-09 08:55:46 -06:00
Anatolii Rozanov d0c8380650 Add host API for *_on_stream operations (#340)
* Add functional test for barrier_all_on_stream

* Add rocshmem_barrier_all_on_stream support for GDA and RO backends

Implements rocshmem_barrier_all_on_stream operation for
GPU Direct Access and Reverse Offload backends.

Previously, rocshmem_barrier_all_on_stream was only supported for IPC backend.

* Add functional test for rocshmem_broadcastmem_on_stream

* Add host-side rocshmem_broadcastmem_on_stream API

Implement stream-based broadcast collective operation

- Add rocshmem_broadcastmem_on_stream host API and kernel implementation
- Add functional test TeamBroadcastmemOnStreamTester with multi-stream
  support and correctness verification
- Use per-workgroup contexts to avoid contention across parallel streams

API:
rocshmem_broadcastmem_on_stream(team, dest, source, nelems, pe_root, stream)

* Add functional test for rocshmem_getmem_on_stream

* Add host-side rocshmem_getmem_on_stream API

Implement stream-based point-to-point RMA get operation

- Add rocshmem_getmem_on_stream host API and kernel implementation
- Support for asynchronous getmem operations on HIP streams
- Add backend support for GDA, RO, and IPC contexts
- Use work-group collective getmem for efficient memory transfer

API:
rocshmem_getmem_on_stream(dest, source, nelems, pe, stream)

(AI Assist)

* Add host-side rocshmem_putmem_on_stream API

- Add rocshmem_putmem_on_stream for asynchronous remote writes
- Support for concurrent RMA operations on HIP streams
- Add backend support for GDA, RO, and IPC contexts
- Use work-group device collective operation

API:
rocshmem_putmem_on_stream(dest, source, bytes, pe, stream)

(AI Assist)

* Add functional test for rocshmem_putmem_on_stream

* Add host-side rocshmem_putmem_signal_on_stream API

Enables asynchronous putmem operations with signaling on HIP streams.

The implementation includes:
- Kernel wrapper rocshmem_putmem_signal_kernel
- Host interface putmem_signal_on_stream method
- Context layer support across all backends (IPC, GDA, RO)
- Public API

Function signature:
void rocshmem_putmem_signal_on_stream(void *dest, const void *source,
                                      size_t bytes, uint64_t *sig_addr,
                                      uint64_t signal, int sig_op,
                                      int pe, hipStream_t stream);

* Add functional test for rocshmem_putmem_signal_on_stream

* Add host-side rocshmem_signal_wait_until_on_stream API

Enables asynchronous signal wait operations on HIP streams.

The implementation includes:
- Kernel wrapper rocshmem_signal_wait_until_kernel
- Host interface signal_wait_until_on_stream method
- Context layer support across all backends (IPC, GDA, RO)
- Native uint64_t support in wait_until API (generated from P2P_SYNC.py)

Function signature:
void rocshmem_signal_wait_until_on_stream(uint64_t *sig_addr, int cmp,
                                          uint64_t cmp_value,
                                          hipStream_t stream);

(AI Assist)

* Add functional test for rocshmem_signal_wait_until_on_stream

* Add documentation for stream API functions

This commit adds API documentation for the following host-side
stream functions:

- rocshmem_barrier_all_on_stream (collective routines)
- rocshmem_broadcastmem_on_stream (collective routines)
- rocshmem_getmem_on_stream (RMA operations)
- rocshmem_putmem_on_stream (RMA operations)
- rocshmem_putmem_signal_on_stream (signaling operations)
- rocshmem_signal_wait_until_on_stream (point-to-point sync)

The documentation includes function signatures, parameter descriptions,
and detailed explanations of asynchronous behavior and stream handling.

(AI Assist)

* Rename "bytes" -> "nelems"

* Add "_TEST_" to the variables used in tests

* Remove incorrect hipStreamDefault usage

hipStreamDefault is not a default stream. This is a flag.

If stream == nullptr, then just pass it to kernel. It will launch the kernel on the default stream
2025-12-09 08:55:46 -06:00
Mario Limonciello a08170bc75 Apu prerequisites (#1946)
* Don't require powercap support

APUs don't necessarily support setting a power cap from sysfs.
Ignore failures of the file missing.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

* Show edge temperature in default output if hotspot is missing

APUs don't have a hotspot temperature, they have an edge though.
Use that.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

* Format all "power" keys as watts

There will be more power keys when APU support is added, so format
them properly.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

* Don't show power limit in output if it's invalid

APUs can't set power limit using power_cap1 interface.  The limit
will be 0 and thus the UX looks weird in default output.
Only add the `/power_limit` if it's valid.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

* Unify sizes of `amdsmi_power_info_t`

Sizes are used inconsistently.  This causes tools to not show
N/A when they should.  Make them unified.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

---------

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-08 21:36:45 -06:00
Dimple Prajapati b9c172de16 Add IBGDA backend flag to enable bitcode generation (#347)
* Change to enable ibgda bitcode compilation

* Apply suggestion from @abouteiller

---------

Co-authored-by: Aurelien Bouteiller <aurelien.bouteiller@amd.com>

[ROCm/rocshmem commit: fbe57306b9]
2025-12-08 16:19:48 -08:00
Dimple Prajapati fbe57306b9 Add IBGDA backend flag to enable bitcode generation (#347)
* Change to enable ibgda bitcode compilation

* Apply suggestion from @abouteiller

---------

Co-authored-by: Aurelien Bouteiller <aurelien.bouteiller@amd.com>
2025-12-08 16:19:48 -08:00
systems-assistant[bot] 24ff76a880 SWDEV-523137 - Enable failing negative tests (#606) 2025-12-08 22:40:13 +01:00
Avinash Kethineedi 4a0a3cc6e3 Refactor: modularize RMA and AMO WQE posting functions (#331)
* Refactor: modularize RMA and AMO WQE posting functions
  - Extract shared logic for SQ/CQ waiting, doorbell ringing, and WQE building
* Remove unused variables
* Update return buffer address calculation for atomics

[ROCm/rocshmem commit: 1acf454048]
2025-12-08 14:54:41 -06:00
Avinash Kethineedi 1acf454048 Refactor: modularize RMA and AMO WQE posting functions (#331)
* Refactor: modularize RMA and AMO WQE posting functions
  - Extract shared logic for SQ/CQ waiting, doorbell ringing, and WQE building
* Remove unused variables
* Update return buffer address calculation for atomics
2025-12-08 14:54:41 -06:00
Yiltan 9b77387067 Fix docs rendering issue (#349)
[ROCm/rocshmem commit: d5bcb3a201]
2025-12-08 15:54:06 -05:00
Yiltan d5bcb3a201 Fix docs rendering issue (#349) 2025-12-08 15:54:06 -05:00
Mario Limonciello e1c43411b0 Exclude shared/amdgpu-windows-interop from pre-commit rules (#2125)
These have an external source of truth.
Also drop the non-existent hipblaslt which isn't in rocm-systems.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-08 14:40:39 -06:00
Mario Limonciello 6a899b5f6d Run pre-commit's whitespace related hooks on .github and .azuredevops (#2129)
In order for pre-commit to be useful, everything needs to meet a common
baseline.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-08 14:39:42 -06:00
Bindhiya Kanangot Balakrishnan 354cc98d55 [SWDEV-570528] Add NPM support on Guest VM (#2199)
Added NPM CLI support on the Guest VM.

Signed-off-by: Bindhiya Kanangot Balakrishnan <Bindhiya.KanangotBalakrishnan@amd.com>
2025-12-08 14:38:18 -06:00
David Galiffi e4bd55b0f0 [rocprof-sys] Update VERSION to 1.4.0 (#2216)
Bumping version to 1.4.0, since `release/rocm-rel-7.2` has branched
2025-12-08 15:15:18 -05:00
SaleelK acc236fd89 clr: Avoid saving all ProfilingSignals at once (#2108)
* While reusing signals, its possible we can come across a timestamp
  that can contain several signals, like when profiling a graph. Reading
timestamps from all signals can make the call severely CPU bound.
Instead cache only that signal so as to avoid the overhead for critical
path.
2025-12-08 11:32:16 -08:00
Yiltan cf1db0529a Remove unused fence policy (#348)
[ROCm/rocshmem commit: ecd4c9f561]
2025-12-08 14:06:53 -05:00
Yiltan ecd4c9f561 Remove unused fence policy (#348) 2025-12-08 14:06:53 -05:00
systems-assistant[bot] eb357fcd45 [SWDEV-531902] python docs need exception type updated (#1895)
* add parameter checks

* remove AmdSmiRetryException and AMDSMI_STATUS_RETRY

* remove bdf exception

* revert retry exception

* add parameter checks

* remove AmdSmiRetryException and AMDSMI_STATUS_RETRY

* remove bdf exception

* revert retry exception

* wip

* wip

* add missing error codes

* wip

* Updated amdsmi-py-api.md file and amdsmi_exception.py

* Updated amdsmi-py-api.md file

* "Deleted backup related files"

* updated amdsmi_interface.py file

* amdsmi_interface.py file changes

* updated amdsmi_interface.py file to fix check issues

* updated amdsmi-py-api.md file

* Reverted AmdSmiBdfFormatException definition

---------

Co-authored-by: Oosman Saeed <oossaeed@amd.com>
Co-authored-by: ssaka_amdeng <SitharamMurthy.Saka@amd.com>
Co-authored-by: systems-assistant[bot] <systems-assistant[bot]@users.noreply.github.com>
Co-authored-by: gabrpham <Gabriel.Pham@amd.com>
2025-12-08 12:57:23 -06:00
Yazen AL Musaffar 7bfccc009e [SWDEV-560828][AMD-SMI] "Fix for amd-smi ras --cper component not being redirected to output file with --follow fix" (#1950)
* Fix for amd-smi ras --cper component does not redirecting output to file

Signed-off-by: yalmusaf_amdeng <Yazen.ALMusaffar@amd.com>

* Update amdsmi_helpers.py

* updated CHANGELOG

Signed-off-by: yalmusaf_amdeng <Yazen.ALMusaffar@amd.com>

* updated CHANGELOG

Signed-off-by: yalmusaf_amdeng <Yazen.ALMusaffar@amd.com>

---------

Signed-off-by: yalmusaf_amdeng <Yazen.ALMusaffar@amd.com>
2025-12-08 12:07:19 -06:00
Yazen AL Musaffar 277072f241 Fix for unexpected behavior by ECC_UNCORRECT field (#1088) 2025-12-08 12:07:00 -06:00
Dmitrii a6183e3ca7 [amdsmi] Dont crash on node handle error (#2206)
Signed-off-by: Galantsev, Dmitrii <dmitrii.galantsev@amd.com>
2025-12-08 11:59:20 -06:00
Aurelien Bouteiller 92c56e7fbd Functional tests without MPI support (#343)
* Let functional tests build without external MPI

* Fix error conditions when using uuid startup with internal MPI

* Do not abort if libibverbs is not found but not using GDA

* Enabled RO functional test initialized with TEST_UUID

* Reduce load time for ro backend_can_run and prevent mpilib_dlclose
crashing

* Fix case TEST_UUID=1, ROCSHMEM_BACKEND='' (autoloading gda)

[ROCm/rocshmem commit: c99bc21e10]
2025-12-08 11:46:16 -05:00
Aurelien Bouteiller c99bc21e10 Functional tests without MPI support (#343)
* Let functional tests build without external MPI

* Fix error conditions when using uuid startup with internal MPI

* Do not abort if libibverbs is not found but not using GDA

* Enabled RO functional test initialized with TEST_UUID

* Reduce load time for ro backend_can_run and prevent mpilib_dlclose
crashing

* Fix case TEST_UUID=1, ROCSHMEM_BACKEND='' (autoloading gda)
2025-12-08 11:46:16 -05:00
Atul Kulkarni 11ffeda52f Added a Process Isolated Test Runner (#1993)
* Added single process isolation support to execute tests

* Address review comments

* Update README

* Removed requirement of explicit call to clear method

* Added macros for simplified usage

* Updated tests to use process isolation framework

* Adjust summary output format for isolated tests

* Updated rccl_wrap tests

* Used process isolation in AllocTests

* Used process isolation and fixed failing tests

* Modified test output, added signal handling

Updated macros to handle lambdas

* Convert argcheck tests to isolated tests

* Convert proxy tests to isolated tests

* Remove non-supported test

* Fixed file descriptor handling and clearing env vars for tests

[ROCm/rccl commit: 7e10267dfd]
2025-12-08 10:36:05 -06:00
Atul Kulkarni 7e10267dfd Added a Process Isolated Test Runner (#1993)
* Added single process isolation support to execute tests

* Address review comments

* Update README

* Removed requirement of explicit call to clear method

* Added macros for simplified usage

* Updated tests to use process isolation framework

* Adjust summary output format for isolated tests

* Updated rccl_wrap tests

* Used process isolation in AllocTests

* Used process isolation and fixed failing tests

* Modified test output, added signal handling

Updated macros to handle lambdas

* Convert argcheck tests to isolated tests

* Convert proxy tests to isolated tests

* Remove non-supported test

* Fixed file descriptor handling and clearing env vars for tests
2025-12-08 10:36:05 -06:00
Jin Jung deaf8ab38a SWDEV-567119 - Windows GL Interop Support (#1892) 2025-12-08 11:03:59 -05:00
Shadi Dashmiz 4812d8e78b SWDEV-566783 - clean up cmgr helper (#1864)
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
2025-12-08 10:37:03 -05:00
Mario Limonciello bc5d48e76c Run pre-commit's whitespace related hooks on projects/rocr-runtime (#2130)
* Run pre-commit's whitespace related hooks on projects/rocr-runtime

In order for pre-commit to be useful, everything needs to meet a common
baseline.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

* Add missing semicolon which would block compilation on big endian CPUs

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>

---------

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-08 07:56:50 -06:00
Ioannis Assiouras 3faf36fb25 Fix Unit_hipStreamBeginCaptureToGraph_CapturePartialInThreads (#2072)
https://mlsejenkinsvm.amd.com/job/rocm-systems/job/hip/view/change-requests/job/PR-2072/6/
The last windowsCI has passed successfully
2025-12-08 13:30:23 +01:00
Mario Limonciello b958ce88c2 Run pre-commit's whitespace related hooks on projects/rocm-core (#2127)
In order for pre-commit to be useful, everything needs to meet a common
baseline.

Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
2025-12-07 12:29:38 -06:00
Atul Kulkarni 142860442a Enable MPI support to execute MPI specific unit/functional tests (#1996)
* Added MPI support to execute unit/functional tests

Update node and process validation
Updated node detection count and modified validation method
Update validation logic to include max procs and nodes

* Address review comments

* Fix warnings

* Added a new NET transport test and clean up

* Added MPI test logging mechanism

* Decoupled GTest framework

* Added Net IB functional tests

* Updated with resource guards

* Added NET IB tests and refactored code

* Update P2pWorkflow test

* Update documentation

* Add MPI_TESTS_ENABLED guard to the file

* Fix Shm and NetIB tests

* Applied refactoring and cleanup

* Replaced BufferGuard with AutoGuard

* Modified test debug logging

* Use macro to reduce NcclTypeTraits code duplication

- Replace repetitive template specializations with a single
  DEFINE_NCCL_TYPE_TRAIT macro
- Use stringification operator (#) to auto-generate type name strings
- Add #undef to keep macro from polluting namespace
- Makes adding new type mappings trivial

* Unify buffer initialization with generic pattern function

- Remove initializeBufferWithCustomPattern
- Make initializeBufferWithPattern generic with PatternFunc template param
- Now single function handles all patterns via lambda injection
- Updated all test files to use lambdas for pattern generation
- Pattern logic now visible at call site (self-documenting)

* Unify buffer verification with pluggable pattern function

- Remove verifyBufferWithCustomCheck
- Make verifyBufferData generic with PatternFunc template param
- Single function handles all verification patterns via lambda injection
- Updated all test files to use lambdas
- Better defaults: num_samples=0 means verify all elements
- Pattern logic now visible at call site (self-documenting)

* Docs: Add DeviceBufferHelpers section to MPITestRunner.md

- Document new refactored buffer initialization/verification API
- Explain pluggable pattern functions with lambda examples
- Show type mapping and automatic float/int comparison
- Include migration guide from old API to new unified functions
- Demonstrate best practices with real-world examples
- Reference recent refactoring commits (macro-based type traits)

* Docs: Update documentation and examples

- Update on DeviceBufferHelpers
- Update examples using DeviceBufferHelpers methods, e.g. data verification

* Address review comment.

- Replace manual pattern generation loop with initializeBufferWithPattern call
- Use downloadBuffer to get host copy instead of manual hipMemcpy

* Remove non-existent dependency

* Remove duplicate testcase

* Code cleanup in test files

* Moved common constants to base class

[ROCm/rccl commit: 29e1567b95]
2025-12-06 16:05:37 -06:00
Atul Kulkarni 29e1567b95 Enable MPI support to execute MPI specific unit/functional tests (#1996)
* Added MPI support to execute unit/functional tests

Update node and process validation
Updated node detection count and modified validation method
Update validation logic to include max procs and nodes

* Address review comments

* Fix warnings

* Added a new NET transport test and clean up

* Added MPI test logging mechanism

* Decoupled GTest framework

* Added Net IB functional tests

* Updated with resource guards

* Added NET IB tests and refactored code

* Update P2pWorkflow test

* Update documentation

* Add MPI_TESTS_ENABLED guard to the file

* Fix Shm and NetIB tests

* Applied refactoring and cleanup

* Replaced BufferGuard with AutoGuard

* Modified test debug logging

* Use macro to reduce NcclTypeTraits code duplication

- Replace repetitive template specializations with a single
  DEFINE_NCCL_TYPE_TRAIT macro
- Use stringification operator (#) to auto-generate type name strings
- Add #undef to keep macro from polluting namespace
- Makes adding new type mappings trivial

* Unify buffer initialization with generic pattern function

- Remove initializeBufferWithCustomPattern
- Make initializeBufferWithPattern generic with PatternFunc template param
- Now single function handles all patterns via lambda injection
- Updated all test files to use lambdas for pattern generation
- Pattern logic now visible at call site (self-documenting)

* Unify buffer verification with pluggable pattern function

- Remove verifyBufferWithCustomCheck
- Make verifyBufferData generic with PatternFunc template param
- Single function handles all verification patterns via lambda injection
- Updated all test files to use lambdas
- Better defaults: num_samples=0 means verify all elements
- Pattern logic now visible at call site (self-documenting)

* Docs: Add DeviceBufferHelpers section to MPITestRunner.md

- Document new refactored buffer initialization/verification API
- Explain pluggable pattern functions with lambda examples
- Show type mapping and automatic float/int comparison
- Include migration guide from old API to new unified functions
- Demonstrate best practices with real-world examples
- Reference recent refactoring commits (macro-based type traits)

* Docs: Update documentation and examples

- Update on DeviceBufferHelpers
- Update examples using DeviceBufferHelpers methods, e.g. data verification

* Address review comment.

- Replace manual pattern generation loop with initializeBufferWithPattern call
- Use downloadBuffer to get host copy instead of manual hipMemcpy

* Remove non-existent dependency

* Remove duplicate testcase

* Code cleanup in test files

* Moved common constants to base class
2025-12-06 16:05:37 -06:00
Atul Kulkarni 1a986dc190 Remove legacy AltRsmi tests (#2090)
These tests will be replaced by new tests.

[ROCm/rccl commit: 8ad446b271]
2025-12-05 16:53:55 -06:00
Atul Kulkarni 8ad446b271 Remove legacy AltRsmi tests (#2090)
These tests will be replaced by new tests.
2025-12-05 16:53:55 -06:00