Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
f81f407
test(rccl): add host microtests for nccl_device/utility.h math helpers
aduforest Oct 12, 2026
0677547
test(rccl): address ARGUS findings on utility.h microtests
aduforest Oct 13, 2026
47a1255
test(rccl): pin alignUp's - 1, rollingLessThan's nBits forward, trim …
aduforest Oct 13, 2026
d1eb14c
test(rccl): correct the imulRcp32 counterexample comment, note the bi…
aduforest Oct 13, 2026
87d7310
test(rccl): pin alignDown's negation, rollingLessEq's half-range boun…
aduforest Oct 14, 2026
f8e4b96
test(rccl): add host microtests for nccl_device device-resource requi…
aduforest Oct 12, 2026
54ccb4d
test(rccl): address ARGUS findings on device-requirement microtests
aduforest Oct 13, 2026
68b9e90
test(rccl): fix DisableCoreDumpsForExpectedCrash rationale for gtest'…
aduforest Oct 13, 2026
f6d697c
test(rccl): non-identity team rank/stride, an inexact-reciprocal peer…
aduforest Oct 14, 2026
171f680
test(rccl): add host microtests for nccl_device/core.cc team helpers
aduforest Oct 12, 2026
12d9413
test(rccl): address ARGUS findings on core.cc microtests
aduforest Oct 13, 2026
efc6421
test(rccl): pick a TeamRail rank where / and % differ
aduforest Oct 13, 2026
854da50
test(rccl): pin ncclTeamWorld/RankToWorld staying ungated, fix fake-o…
aduforest Oct 13, 2026
f648bbd
test(rccl): add host microtests for src/cft_dev_runtime.cc
aduforest Oct 12, 2026
b1f8208
test(rccl): address ARGUS findings on cft_dev_runtime.cc microtests
aduforest Oct 13, 2026
50a8f37
test(rccl): pin CFT registration args in all LE-info suites, symmetri…
aduforest Oct 13, 2026
60262dd
test(rccl): seed a non-degenerate CFT team so peer prologue checks ar…
aduforest Oct 13, 2026
8dedee9
docs(rccl): record cft_dev_runtime_fakes.cc in the MICROTEST_README f…
aduforest Oct 14, 2026
d53bede
test(rccl): trim microtest docs and comments to match the other host …
aduforest Oct 14, 2026
f41e1d5
test(rccl): trim microtest docs and comments to match the other host …
aduforest Oct 14, 2026
9d54be4
test(rccl): trim microtest docs and comments to match the other host …
aduforest Oct 14, 2026
f8d922e
test(rccl): trim microtest docs and comments to match the other host …
aduforest Oct 14, 2026
40f6723
test(rccl): follow the microtest naming and registration rules
aduforest Oct 14, 2026
b8776e6
test(rccl): follow the microtest naming and registration rules
aduforest Oct 14, 2026
4e28aeb
test(rccl): follow the microtest naming and registration rules
aduforest Oct 14, 2026
a5917c4
Merge commit 'f41e1d5ee6' into users/aduforest/aicomrccl-2825-device-…
aduforest Oct 15, 2026
272bbfd
Merge commit 'b8776e63d8' into users/aduforest/aicomrccl-2825-device-…
aduforest Oct 15, 2026
d6dbe8b
Merge commit '4e28aebc87' into users/aduforest/aicomrccl-2825-device-…
aduforest Oct 15, 2026
345aff3
Merge remote-tracking branch 'origin/develop' into users/aduforest/ai…
aduforest Oct 16, 2026
cf0a98a
test(rccl): move the cft_dev_runtime hooks into dev_runtime_fakes
aduforest Oct 16, 2026
207d55f
Merge remote-tracking branch 'origin/develop' into agent/2825-pr
aduforest Oct 19, 2026
6201da0
Merge remote-tracking branch 'origin/develop' into agent/2825-pr
aduforest Oct 19, 2026
5ee4212
Merge remote-tracking branch 'origin/develop' into users/aduforest/ai…
aduforest Oct 20, 2026
6608366
Merge remote-tracking branch 'origin/develop' into agent/2825-pr
aduforest Oct 20, 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
91 changes: 91 additions & 0 deletions projects/rccl/test/host/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ function(rccl_define_micro_source_lists)
devcomm-test.cc
wrap-test.cc
dev-runtime-test.cc
nccl-utility-test.cc # src/include/nccl_device/utility.h (header-only, no fakes)
# sym-kernels-index-test.cc: added conditionally below, only when GENERATE_SYM_KERNELS is ON.
gdr-probe-test.cc # src/misc/gdr_probe.cc runtime GDR registration probe
dv_symbols_test.cc # src/misc/ionicdvsymbols.cc, src/misc/mlx5dvsymbols.cc
Expand Down Expand Up @@ -425,6 +426,61 @@ function(rccl_define_micro_source_lists)
../common/main_altrsmi.cpp
PARENT_SCOPE)

# rccl-UnitTestsMicroNcclDevice -- src/nccl_device/ requirement builders. Own binary:
# fakes/dev_runtime_micro_fakes.cc fakes three of them in rccl-UnitTestsMicro.
set(TEST_MICRO_NCCL_DEVICE_SOURCE_FILES
nccl-device-requirements-test.cc
../common/main_altrsmi.cpp
PARENT_SCOPE)

# rccl-UnitTestsMicroCore -- src/nccl_device/core.cc. Own binary:
# dev_runtime_micro_fakes.cc and devcomm_fakes.cc fake five of its seven functions.
set(TEST_MICRO_CORE_SOURCE_FILES
core-test.cc
fakes/bootstrap_stubs.cc
fakes/topo_stubs.cc
fakes/transport_stubs.cc
fakes/nccl_stubs.cc
fakes/nccl_fakes.cc
fakes/hip_fakes.cc
fakes/collectives_fakes.cc
fakes/comm_fakes.cc
fakes/dev_runtime_fakes.cc
fakes/env_fakes.cc
fakes/os_fakes.cc
fakes/recorder_fakes.cc
fakes/strongstream_stubs.cc
fakes/tuning_fakes.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/argcheck.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/archinfo.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/utils.cc
../common/main_altrsmi.cpp
PARENT_SCOPE)

# rccl-UnitTestsMicroCftDevRuntime -- src/cft_dev_runtime.cc + src/nccl_device/core.cc. Own
# binary: rccl-UnitTestsMicro fakes most of core.cc, which the LE-info queries call.
set(TEST_MICRO_CFT_DEV_RUNTIME_SOURCE_FILES
cft-dev-runtime-test.cc
fakes/bootstrap_stubs.cc
fakes/topo_stubs.cc
fakes/transport_stubs.cc
fakes/nccl_stubs.cc
fakes/nccl_fakes.cc
fakes/hip_fakes.cc
fakes/collectives_fakes.cc
fakes/comm_fakes.cc
fakes/dev_runtime_fakes.cc
fakes/env_fakes.cc
fakes/os_fakes.cc
fakes/recorder_fakes.cc
fakes/strongstream_stubs.cc
fakes/tuning_fakes.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/argcheck.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/archinfo.cc
${RCCL_HOST_HIPIFY_DIR}/src/misc/utils.cc
../common/main_altrsmi.cpp
PARENT_SCOPE)

# rccl-UnitTestsMicroTaskPrep -- host-only microtests for src/enqueue/task_prep/
# and src/enqueue/task_sched/.
# Its own binary, not rccl-UnitTestsMicro: that target compiles group.cc, rccl_wrap.cc and
Expand Down Expand Up @@ -1371,6 +1427,41 @@ if(_ENQ_BUILD_DEVLINKER)
target_compile_definitions(rccl-UnitTestsMicroEnqueue-devlinker PRIVATE RCCL_DEVICE_LINKER)
endif()

# ---------------------------------------------------------------------------
# rccl-UnitTestsMicroNcclDevice
# ---------------------------------------------------------------------------
rccl_add_micro_binary(rccl-UnitTestsMicroNcclDevice
SOURCES ${TEST_MICRO_NCCL_DEVICE_SOURCE_FILES}
EXTRA_DEFS
${_MICRO_MODE_DEFS}
CFT_BARRIER_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/cft_barrier.cc"
GIN_BARRIER_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/gin_barrier.cc"
GIN_SCRATCH_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/gin_scratch.cc"
LL_A2A_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/ll_a2a.cc"
LSA_BARRIER_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/lsa_barrier.cc"
CATEGORIES_YAML "${CMAKE_CURRENT_SOURCE_DIR}/../test_categories_micro_nccl_device.yaml")

# ---------------------------------------------------------------------------
# rccl-UnitTestsMicroCore
# ---------------------------------------------------------------------------
rccl_add_micro_binary(rccl-UnitTestsMicroCore
SOURCES ${TEST_MICRO_CORE_SOURCE_FILES}
EXTRA_DEFS
${_MICRO_MODE_DEFS}
CORE_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/core.cc"
CATEGORIES_YAML "${CMAKE_CURRENT_SOURCE_DIR}/../test_categories_micro_core.yaml")

# ---------------------------------------------------------------------------
# rccl-UnitTestsMicroCftDevRuntime
# ---------------------------------------------------------------------------
rccl_add_micro_binary(rccl-UnitTestsMicroCftDevRuntime
SOURCES ${TEST_MICRO_CFT_DEV_RUNTIME_SOURCE_FILES}
EXTRA_DEFS
${_MICRO_MODE_DEFS}
CORE_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/nccl_device/core.cc"
CFT_DEV_RUNTIME_CC_PATH="${RCCL_HOST_HIPIFY_DIR}/src/cft_dev_runtime.cc"
CATEGORIES_YAML "${CMAKE_CURRENT_SOURCE_DIR}/../test_categories_micro_cft_dev_runtime.yaml")

# ---------------------------------------------------------------------------
# rccl-UnitTestsMicroCe
# ---------------------------------------------------------------------------
Expand Down
21 changes: 21 additions & 0 deletions projects/rccl/test/host/MICROTEST_README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ export colliding non-`static` symbols; otherwise a unit needs its own binary:
`DEV_RUNTIME_SEGMENTS_CC_PATH`, from `dev-runtime-test.cc`);
suites `Alloc*`, `Comm*`, `Compute*`, `DeepCopy*`, `Dev*`, `Gin*`, `Nccl*`,
`Sym*`, and `Win*`.
- `include/nccl_device/utility.h` (header-only, from `nccl-utility-test.cc`);
suite `NcclUtilityMicrotest.*`.
- the generated `sym_kernels_host.cc` (`SYM_KERNELS_HOST_CC_PATH`, from
`sym-kernels-index-test.cc`); suites `SymKernelIndex*`,
`SymAllEmittedCombinations/*`, `SymUnhandledCombinations/*` (covered by the
Expand Down Expand Up @@ -343,6 +345,22 @@ export colliding non-`static` symbols; otherwise a unit needs its own binary:
scene, vocabulary and fake-reset fixture live in `TaskPrepScene.h`.
`ENABLE_WARP_SPEED` is deliberately absent: all eleven files are free of it.
See `test_categories_micro_taskprep.yaml`.
- **`rccl-UnitTestsMicroNcclDevice`**: the requirement builders in
`src/nccl_device/{cft_barrier,gin_barrier,gin_scratch,ll_a2a,lsa_barrier}.cc`
(via `<STEM>_CC_PATH`, from `nccl-device-requirements-test.cc`); suite
`NcclDeviceRequirementsMicrotest.*`. Its own binary because
`fakes/dev_runtime_micro_fakes.cc` fakes three of these builders. See
`test_categories_micro_nccl_device.yaml`.
- **`rccl-UnitTestsMicroCore`**: `src/nccl_device/core.cc` (via
`CORE_CC_PATH`, from `core-test.cc`); suite `CoreMicrotest.*`. Its
own binary because `fakes/dev_runtime_micro_fakes.cc` and
`fakes/devcomm_fakes.cc` fake five of its seven functions. See
`test_categories_micro_core.yaml`.
- **`rccl-UnitTestsMicroCftDevRuntime`**: `src/cft_dev_runtime.cc` and
`src/nccl_device/core.cc` (via `CFT_DEV_RUNTIME_CC_PATH` / `CORE_CC_PATH`,
from `cft-dev-runtime-test.cc`); suites `CftDevRuntime*`. Its own binary because
`rccl-UnitTestsMicro` fakes most of `core.cc`, which the LE-info queries call. See
`test_categories_micro_cft_dev_runtime.yaml`.
- **`rccl-UnitTestsMicroConnect`** — `src/graph/connect.cc` (via `CONNECT_CC_PATH`,
suites `EveryRank/ConnectMicrotest.*` and `ConnectMicrotestReject.*`):
`ncclTopoPreset` and `ncclTopoPostset` run unstubbed on a hand-built
Expand Down Expand Up @@ -995,6 +1013,9 @@ cmake --build build -j"$(nproc)"
./build/rccl-UnitTestsMicroGraph # src/graph/{xml,topo,paths,search,rome_models}.cc tests
./build/rccl-UnitTestsMicroGinHost # src/gin/gin_host.cc GIN_PROXY_NTHREADS
./build/rccl-UnitTestsMicroGinHostFinalize # src/gin/gin_host.cc host finalize
./build/rccl-UnitTestsMicroNcclDevice # nccl_device requirement builders tests
./build/rccl-UnitTestsMicroCore # nccl_device/core.cc tests
./build/rccl-UnitTestsMicroCftDevRuntime # cft_dev_runtime.cc tests
./build/rccl-UnitTestsMicroDdaIpc # src/algorithms/dda/all_reduce/dda_all_reduce_ipc.cu
./build/rccl-UnitTestsMicroParam # src/param/*.cc, src/misc/param.cc tests
./build/rccl-UnitTestsMicroDiagnostics # src/diagnostics/p2p.cc tests
Expand Down
Loading
Loading