Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
49cc26b
Add test filter standardization for rocshmem
dileepr1 Jun 8, 2026
ba457d2
Bump rocm-systems submodule to develop tip (includes rocshmem CTest TSF)
dileepr1 Jun 8, 2026
6df63da
Bump rocm-systems submodule to develop tip with SLR (rocshmem#6804)
dileepr1 Jun 11, 2026
f6cdf68
Point rocm-systems submodule at rocshmem/therock-ci-fix
dileepr1 Jun 12, 2026
2deb912
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jun 23, 2026
812c28b
Fix rocshmem test artifact paths for functional/unit test binaries
dileepr1 Jun 30, 2026
8554947
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jun 30, 2026
f643d64
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jul 7, 2026
5578d0d
Merge branch 'main' into users/dravindr/tr_rocshmem
dileepr1 Jul 9, 2026
e8211e4
Bump rocm-systems submodule to develop tip (rocshmem CI fixes merged)
dileepr1 Jul 9, 2026
4a01bcc
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jul 9, 2026
f623822
Add rocshmem to install_rocm_from_artifacts test args namespace
dileepr1 Jul 9, 2026
18a7530
rocshmem: package test binaries from bin/ (RPATH fix)
dileepr1 Jul 10, 2026
db84137
rocshmem: test egabriel/therock-ci-fix-for-real-this-time
dileepr1 Jul 15, 2026
897f6fd
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jul 15, 2026
d16b3ae
rocshmem: bump pin to therock-ci-fix (bin/ install), package binaries…
dileepr1 Jul 17, 2026
e45ece3
rocshmem: bump pin to therock-ci-fix with executable relative-path fix
dileepr1 Jul 20, 2026
5467361
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jul 20, 2026
f739bf1
rocshmem: put install lib dir on LD_LIBRARY_PATH for backend probe
dileepr1 Jul 24, 2026
e2f9faa
Merge remote-tracking branch 'origin/main' into users/dravindr/tr_roc…
dileepr1 Jul 24, 2026
309a77b
rocshmem: also add bundled sysdeps lib dir to LD_LIBRARY_PATH
dileepr1 Jul 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions build_tools/github_actions/fetch_test_configurations.py
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,20 @@ def _build_container_options(job_config: dict, platform: str) -> dict:
# Architectures that we have multi GPU setup for testing
"multi_gpu": {"linux": ["gfx94X-dcgpu", "gfx950-dcgpu"]},
},
# rocSHMEM tests
"rocshmem": {
"job_name": "rocshmem",
"fetch_artifact_args": "--rocshmem --tests",
"timeout_minutes": 30,
"test_script": f"python {_get_script_path('test_runner.py')}",

@ScottTodd ScottTodd Jul 28, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What tests do you specifically expect to run with this script? Looking at the logs on https://github.com/ROCm/TheRock/actions/runs/30112055659/job/89560360151, I see

28/28 Test #191: pingpong_n2_w32_z1_uuid ..................................   Passed    1.53 sec

100% tests passed, 0 tests failed out of 28

Label Time Summary:
AMO                       =  21.74 sec*proc (4 tests)
OTHER                     =  47.31 sec*proc (7 tests)
RMA                       = 128.30 sec*proc (17 tests)
backend_all               = 129.94 sec*proc (17 tests)
backend_gda               =  55.17 sec*proc (7 tests)
backend_ipc               =  67.41 sec*proc (11 tests)
comprehensive             = 197.34 sec*proc (28 tests)
full                      = 197.34 sec*proc (28 tests)
functional                = 197.34 sec*proc (28 tests)
gpu_all                   = 197.34 sec*proc (28 tests)
launcher_slr              = 197.34 sec*proc (28 tests)
nightly                   =  96.18 sec*proc (12 tests)
pr                        =   7.85 sec*proc (2 tests)
pre-commit                = 197.34 sec*proc (28 tests)
quick                     = 197.34 sec*proc (28 tests)
smoke                     = 197.34 sec*proc (28 tests)
standard                  = 197.34 sec*proc (28 tests)
variant_default_stream    =  15.98 sec*proc (2 tests)
variant_uuid              = 189.14 sec*proc (27 tests)

Total Test time (real) =  88.85 sec
# TEST_COMPONENT: rocshmem -> Test Directory: build/bin/rocshmem
# TEST_TYPE: quick -> Category: quick
# AMDGPU_FAMILIES: gfx94X-dcgpu -> GPU Architecture: gfx94X

# Discovering available test labels...
# Warning: No GPU specific test suites available

# No GPU suite found for gfx94X, excluding all ex_gpu tests
# Running: ctest -L ^quick$ -LE ex_gpu --output-on-failure --parallel 1 --timeout 7200 --test-dir build/bin/rocshmem -V --tests-information 1,,1

That seems pretty light on tests, even for the "quick" filter? The "No GPU suite found" logs are also concerning given that this claims it should be running multi-GPU tests?

"platform": ["linux"],
"total_shards_dict": {
"linux": 1,
},
# rocSHMEM functional/unit tests launch via mpirun with RANKS 2..64, so
# they need a multi-GPU runner (same setup as rccl).
"multi_gpu": {"linux": ["gfx94X-dcgpu", "gfx950-dcgpu"]},
Comment on lines +499 to +501

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fyi @amd-shiraz new 8 GPU runner like linux-gfx942-8gpu-ossci-rocm-8txs9-runner-wknrq in use here, e.g. https://github.com/ROCm/TheRock/actions/runs/30112055659/job/89560360151

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this will cause huge queues with current capacity for gfx942-8gpu. do these actually need multi gpu? cc @suchitravemuri1

},
# rocprofiler-sdk tests
"rocprofiler-sdk": {
"job_name": "rocprofiler-sdk",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,9 +283,13 @@ def fake_select_weighted_label(labels_config, context_name):

rccl = next(j for j in components if j["job_name"] == "rccl")
self.assertEqual(rccl["multi_gpu_runner"], "linux-mi300-mgpu-a")
# Verify select_weighted_label was called
self.assertEqual(len(selected_labels), 1)
self.assertEqual(selected_labels[0][1], "gfx94x-multi-gpu")
# Verify select_weighted_label was used for multi-GPU jobs. There may
# be more than one multi-GPU job (e.g. rccl and rocshmem), so assert
# it was called at least once and always with the multi-gpu context.
self.assertGreaterEqual(len(selected_labels), 1)
self.assertTrue(
all(ctx == "gfx94x-multi-gpu" for _, ctx in selected_labels)
)
finally:
fetch_test_configurations.select_weighted_label = (
original_select_weighted_label
Expand Down
19 changes: 19 additions & 0 deletions build_tools/install_rocm_from_artifacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
[--prim | --no-prim]
[--rand | --no-rand]
[--rccl | --no-rccl]
[--rocshmem | --no-rocshmem]
[--rocdecode | --no-rocdecode]
[--rocjpeg | --no-rocjpeg]
[--rocjitsu | --no-rocjitsu]
Expand Down Expand Up @@ -358,6 +359,7 @@ def retrieve_artifacts_by_run_id(args):
args.mpi,
args.rand,
args.rccl,
args.rocshmem,
args.rocdecode,
args.rocjpeg,
args.rocjitsu,
Expand Down Expand Up @@ -447,6 +449,16 @@ def retrieve_artifacts_by_run_id(args):
extra_artifacts.append("rand")
if args.rccl:
extra_artifacts.append("rccl")
if args.rocshmem:
extra_artifacts.append("rocshmem")
# The functional test binary (bin/rocshmem_functional_tests) and
# bin/rocshmem_info live in the _run component; the install-tree
# CTestTestfile.cmake references them via relative paths.
argv.append("rocshmem_run")
# rocSHMEM tests launch via mpirun and link against TheRock's
# vendored OpenMPI, so pull it (with its run component for mpiexec).
extra_artifacts.append("openmpi")
argv.append("openmpi_run")
Comment on lines +499 to +502

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't build openmpi by default and we don't distribute a vendored version.

You may be interested in how rocprofiler-sdk has recently started running mpi tests by using a test dockerfile with a system install:

if args.rocprofiler_sdk:
extra_artifacts.append("rocprofiler-sdk")
extra_artifacts.append("aqlprofile")
Expand Down Expand Up @@ -788,6 +800,13 @@ def main(argv):
action=argparse.BooleanOptionalAction,
)

artifacts_group.add_argument(
"--rocshmem",
default=False,
help="Include 'rocshmem' artifacts",
action=argparse.BooleanOptionalAction,
)

artifacts_group.add_argument(
"--mpi",
default=False,
Expand Down
4 changes: 4 additions & 0 deletions comm-libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,10 @@ if(THEROCK_ENABLE_ROCSHMEM)
"-DEXPLICIT_ROCM_VERSION=${ROCM_MAJOR_VERSION}.${ROCM_MINOR_VERSION}.${ROCM_PATCH_VERSION}"
-DBUILD_FUNCTIONAL_TESTS=${THEROCK_BUILD_TESTING}
-DBUILD_UNIT_TESTS=${THEROCK_BUILD_TESTING}
# Register functional/unit tests with CTest and install the relocatable
# bin/rocshmem/**/CTestTestfile.cmake files (with quick/standard/
# comprehensive/full tier labels) that test_runner.py drives via ctest.
-DBUILD_CTESTS=${THEROCK_BUILD_TESTING}
-DSOURCE_DIR=${_source_dir}
-DPATCHELF=${PATCHELF}
-DPython3_EXECUTABLE=${Python3_EXECUTABLE}
Expand Down
15 changes: 15 additions & 0 deletions comm-libs/artifact-rocshmem.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,19 @@ include = [
]
# Tests
[components.test."comm-libs/rocshmem/stage"]
include = [
# Install-tree CTest files: test_runner.py runs `ctest --test-dir bin/rocshmem`,
# whose root CTestTestfile.cmake subdirs into tests/functional and tests/unit.
"bin/rocshmem/**",
# Unit test binary (the functional test binary and rocshmem_info come from the
# run component, fetched via rocshmem_run).
"bin/rocshmem_unit_tests",
# CTest wrapper scripts referenced (by relative path) from the install-tree
# CTestTestfile.cmake, plus the retry helper.
"share/rocshmem/test_wrapper.sh",
"share/rocshmem/unit_test_wrapper.sh",
"share/rocshmem/ctest_with_retry.sh",
# HSACOs used by the device_bitcode functional tests (quick tier).
"share/rocshmem/*.hsaco",
]
optional = true
2 changes: 1 addition & 1 deletion rocm-systems
Submodule rocm-systems updated 1126 files
Loading