Repository navigation
rocSHMEM: Add signal operations - #12140
Conversation
❌ PR Check — Action Required
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🚫 Please fix the failed policies before requesting reviews. The following policy checks failed:
The |
There was a problem hiding this comment.
Copilot review overview
🔵 Needs a closer look
Add functional coverage for the context-based signal add and set entry points.
Review effort: Lite
Findings: None
What changed in this PR
Adds rocSHMEM signal add, set, and wait-until operations with context APIs, device wrappers, statistics, documentation, and tests.
Changes:
- Added public and device-bitcode signal APIs.
- Implemented signal operations and wait comparisons.
- Added statistics, documentation, and functional coverage.
| File | Description |
|---|---|
projects/rocshmem/utils/header_files_gen/SIG_OP.py |
Generates signal API declarations. |
projects/rocshmem/tests/test_categories.yaml |
Categorizes signal tests. |
projects/rocshmem/tests/functional_tests/tester.hpp |
Registers test types. |
projects/rocshmem/tests/functional_tests/tester.cpp |
Creates and launches tests. |
projects/rocshmem/tests/functional_tests/tester_arguments.cpp |
Configures test arguments. |
projects/rocshmem/tests/functional_tests/signaling_operations_tester.cpp |
Adds functional signal tests. |
projects/rocshmem/tests/functional_tests/device_bitcode_tester.cpp |
Adds device-bitcode validation. |
projects/rocshmem/tests/functional_tests/device_bitcode_tester_kernel.hip |
Tests signal APIs from device code. |
projects/rocshmem/tests/functional_tests/CTestFunctionalTests.cmake |
Registers CTest cases. |
projects/rocshmem/src/stats.hpp |
Adds signal wait statistics. |
projects/rocshmem/src/rocshmem_gpu.cpp |
Implements signal operations. |
projects/rocshmem/src/device/rocshmem_wrapper.cc |
Adds device-bitcode wrappers. |
projects/rocshmem/src/context.hpp |
Declares signal wait support. |
projects/rocshmem/src/context_tmpl_device.hpp |
Implements comparison helpers. |
projects/rocshmem/src/context_device.cpp |
Implements signal waiting. |
projects/rocshmem/src/backend_bc.cpp |
Reports signal statistics. |
projects/rocshmem/scripts/functional_tests/driver.sh |
Registers scripted tests. |
projects/rocshmem/include/rocshmem/rocshmem_SIG_OP.hpp |
Publishes signal declarations. |
projects/rocshmem/docs/api/sigops.rst |
Documents signal operations. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
bb3c7de to
06545fc
Compare
a61f127 to
69f0e31
Compare
82de7d0 to
81f3571
Compare
- Add signal add, set, and wait-until APIs. - Reuse uint64 atomics and shared Context comparison logic. - Add bitcode wrappers and signal wait statistics.
- Add separate signal add, set, and wait tests. - Verify atomic updates and wait return values. - Register the tests in CTest and functional drivers.
- Document signal add and set variants. - Describe signal wait-until behavior and return value.
- Add standalone signal APIs to the 3.8.0 release notes.
- Deprecate work-group and wave signal fetch variants. - Direct users to rocshmem_signal_fetch. - Update generated declarations, documentation, and changelog.
- Suppress warnings in device-bitcode forwarding wrappers. - Suppress warnings in tests covering deprecated WG and wave APIs. - Preserve deprecation diagnostics for external users.
81f3571 to
2dd035b
Compare
TheRock Submodule Bump ActivityNewest first
|
Motivation
Add the standalone signal operations:
rocshmem_signal_addrocshmem_signal_setrocshmem_signal_wait_untilTechnical Details
Issue Tracking
JIRA ID : AIROCSHMEM-334Test Plan
scripts/build_configs/ipc_single.scripts/build_configs/gda_mlx5.signaladd,signalset, andsignalwaituntiltests onIPCandGDA.Test Result
All builds and signal operation tests passed on
IPC,GDAandRO.Submission Checklist