{ "system_configurations": { "name": "RCCL CI-PreCheckin", "description": "A port of RCCL Math-CI precheckin pipeline." }, "paths": { "workdir": "${WORKDIR:-$PWD}", "rocm_path": "${ROCM_PATH:-/opt/rocm}", "mpi_path": "${MPI_PATH:-/opt/ompi}" }, "env_variables": { "HSA_NO_SCRATCH_RECLAIM": "1", "NCCL_DEBUG": "WARN", "UT_POW2_GPUS": "1" }, "build_configuration": { "cmake_options": { "CMAKE_BUILD_TYPE": "Debug", "ENABLE_CODE_COVERAGE": "ON", "BUILD_TESTS": "ON", "BUILD_LOCAL_GPU_TARGET_ONLY": "ON" }, "parallel_jobs": 64, "generator": "Unix Makefiles" }, "test_configurations": { "unit_tests": { "is_gtest": true, "binary": "rccl-UnitTests", "num_ranks": 1, "num_nodes": 1, "num_gpus": 8, "timeout": 90, "env_variables": { "NCCL_DEBUG": "" }, "rerun_env_variables": { "NCCL_DEBUG": "INFO" }, "tests": [ {"name": "AllReduce.OutOfPlace", "description": "AllReduce out-of-place", "test_filter": "AllReduce.OutOfPlace"}, {"name": "AllReduce.OutOfPlaceGraph", "description": "AllReduce out-of-place graph", "test_filter": "AllReduce.OutOfPlaceGraph"}, {"name": "AllReduce.InPlace", "description": "AllReduce in-place", "test_filter": "AllReduce.InPlace"}, {"name": "AllReduce.InPlaceGraph", "description": "AllReduce in-place graph", "test_filter": "AllReduce.InPlaceGraph"}, {"name": "AllReduce.ManagedMem", "description": "AllReduce managed memory", "test_filter": "AllReduce.ManagedMem"}, {"name": "AllReduce.Channels", "description": "AllReduce channels", "test_filter": "AllReduce.Channels", "timeout": 400}, {"name": "AllReduce.ManagedMemGraph", "description": "AllReduce managed memory graph", "test_filter": "AllReduce.ManagedMemGraph"}, {"name": "AllReduce.PreMultScalar", "description": "AllReduce pre-mult scalar", "test_filter": "AllReduce.PreMultScalar"}, {"name": "AllReduce.UserBufferRegistration", "description": "AllReduce user buffer registration", "test_filter": "AllReduce.UserBufferRegistration"}, {"name": "AllReduce.ManagedMemUserBufferRegistration", "description": "AllReduce managed mem user buffer", "test_filter": "AllReduce.ManagedMemUserBufferRegistration"}, {"name": "AllGather.OutOfPlace", "description": "AllGather out-of-place", "test_filter": "AllGather.OutOfPlace"}, {"name": "AllGather.OutOfPlaceGraph", "description": "AllGather out-of-place graph", "test_filter": "AllGather.OutOfPlaceGraph"}, {"name": "AllGather.InPlace", "description": "AllGather in-place", "test_filter": "AllGather.InPlace"}, {"name": "AllGather.InPlaceGraph", "description": "AllGather in-place graph", "test_filter": "AllGather.InPlaceGraph"}, {"name": "AllGather.ManagedMem", "description": "AllGather managed memory", "test_filter": "AllGather.ManagedMem"}, {"name": "AllGather.ManagedMemGraph", "description": "AllGather managed memory graph", "test_filter": "AllGather.ManagedMemGraph"}, {"name": "AllGather.UserBufferRegistration", "description": "AllGather user buffer registration", "test_filter": "AllGather.UserBufferRegistration"}, {"name": "AllGather.ManagedMemUserBufferRegistration", "description": "AllGather managed mem user buffer", "test_filter": "AllGather.ManagedMemUserBufferRegistration"}, {"name": "AllToAll.OutOfPlace", "description": "AllToAll out-of-place", "test_filter": "AllToAll.OutOfPlace"}, {"name": "AllToAll.OutOfPlaceGraph", "description": "AllToAll out-of-place graph", "test_filter": "AllToAll.OutOfPlaceGraph"}, {"name": "AllToAll.ManagedMem", "description": "AllToAll managed memory", "test_filter": "AllToAll.ManagedMem"}, {"name": "AllToAll.ManagedMemGraph", "description": "AllToAll managed memory graph", "test_filter": "AllToAll.ManagedMemGraph"}, {"name": "AllToAllv.OutOfPlace", "description": "AllToAllv out-of-place", "test_filter": "AllToAllv.OutOfPlace"}, {"name": "AllToAllv.OutOfPlaceGraph", "description": "AllToAllv out-of-place graph", "test_filter": "AllToAllv.OutOfPlaceGraph"}, {"name": "Broadcast.OutOfPlace", "description": "Broadcast out-of-place", "test_filter": "Broadcast.OutOfPlace"}, {"name": "Broadcast.OutOfPlaceGraph", "description": "Broadcast out-of-place graph", "test_filter": "Broadcast.OutOfPlaceGraph"}, {"name": "Broadcast.InPlace", "description": "Broadcast in-place", "test_filter": "Broadcast.InPlace"}, {"name": "Broadcast.InPlaceGraph", "description": "Broadcast in-place graph", "test_filter": "Broadcast.InPlaceGraph"}, {"name": "Broadcast.ManagedMem", "description": "Broadcast managed memory", "test_filter": "Broadcast.ManagedMem"}, {"name": "Broadcast.ManagedMemGraph", "description": "Broadcast managed memory graph", "test_filter": "Broadcast.ManagedMemGraph"}, {"name": "Gather.OutOfPlace", "description": "Gather out-of-place", "test_filter": "Gather.OutOfPlace"}, {"name": "Gather.OutOfPlaceGraph", "description": "Gather out-of-place graph", "test_filter": "Gather.OutOfPlaceGraph"}, {"name": "Gather.InPlace", "description": "Gather in-place", "test_filter": "Gather.InPlace"}, {"name": "Gather.InPlaceGraph", "description": "Gather in-place graph", "test_filter": "Gather.InPlaceGraph"}, {"name": "Gather.ManagedMem", "description": "Gather managed memory", "test_filter": "Gather.ManagedMem"}, {"name": "Gather.ManagedMemGraph", "description": "Gather managed memory graph", "test_filter": "Gather.ManagedMemGraph"}, {"name": "Scatter.OutOfPlace", "description": "Scatter out-of-place", "test_filter": "Scatter.OutOfPlace"}, {"name": "Scatter.OutOfPlaceGraph", "description": "Scatter out-of-place graph", "test_filter": "Scatter.OutOfPlaceGraph"}, {"name": "Scatter.InPlace", "description": "Scatter in-place", "test_filter": "Scatter.InPlace"}, {"name": "Scatter.InPlaceGraph", "description": "Scatter in-place graph", "test_filter": "Scatter.InPlaceGraph"}, {"name": "Scatter.ManagedMem", "description": "Scatter managed memory", "test_filter": "Scatter.ManagedMem"}, {"name": "Scatter.ManagedMemGraph", "description": "Scatter managed memory graph", "test_filter": "Scatter.ManagedMemGraph"}, {"name": "Reduce.OutOfPlace", "description": "Reduce out-of-place", "test_filter": "Reduce.OutOfPlace"}, {"name": "Reduce.OutOfPlaceGraph", "description": "Reduce out-of-place graph", "test_filter": "Reduce.OutOfPlaceGraph"}, {"name": "Reduce.InPlace", "description": "Reduce in-place", "test_filter": "Reduce.InPlace"}, {"name": "Reduce.InPlaceGraph", "description": "Reduce in-place graph", "test_filter": "Reduce.InPlaceGraph"}, {"name": "Reduce.ManagedMem", "description": "Reduce managed memory", "test_filter": "Reduce.ManagedMem"}, {"name": "Reduce.ManagedMemGraph", "description": "Reduce managed memory graph", "test_filter": "Reduce.ManagedMemGraph"}, {"name": "ReduceScatter.OutOfPlace", "description": "ReduceScatter out-of-place", "test_filter": "ReduceScatter.OutOfPlace"}, {"name": "ReduceScatter.OutOfPlaceGraph", "description": "ReduceScatter out-of-place graph", "test_filter": "ReduceScatter.OutOfPlaceGraph", "timeout": 180}, {"name": "ReduceScatter.InPlace", "description": "ReduceScatter in-place", "test_filter": "ReduceScatter.InPlace"}, {"name": "ReduceScatter.InPlaceGraph", "description": "ReduceScatter in-place graph", "test_filter": "ReduceScatter.InPlaceGraph"}, {"name": "ReduceScatter.ManagedMem", "description": "ReduceScatter managed memory", "test_filter": "ReduceScatter.ManagedMem"}, {"name": "ReduceScatter.ManagedMemGraph", "description": "ReduceScatter managed memory graph", "test_filter": "ReduceScatter.ManagedMemGraph", "timeout": 180}, {"name": "SendRecv.SinglePairs", "description": "SendRecv single pairs", "test_filter": "SendRecv.SinglePairs", "timeout": 120}, {"name": "SendRecv.UserBufferRegister", "description": "SendRecv user buffer register", "test_filter": "SendRecv.UserBufferRegister"}, {"name": "GroupCall.Identical", "description": "GroupCall identical", "test_filter": "GroupCall.Identical"}, {"name": "GroupCall.Different", "description": "GroupCall different", "test_filter": "GroupCall.Different"}, {"name": "GroupCall.Multistream", "description": "GroupCall multistream", "test_filter": "GroupCall.Multistream", "timeout": 300}, {"name": "GroupCall.MixedDataType", "description": "GroupCall mixed data type", "test_filter": "GroupCall.MixedDataType"}, {"name": "GroupCall.MultiGroupCall", "description": "GroupCall multi group call", "test_filter": "GroupCall.MultiGroupCall"}, {"name": "NonBlocking.SingleCalls", "description": "NonBlocking single calls", "test_filter": "NonBlocking.SingleCalls"}, {"name": "Standalone.SplitComms_RankCheck", "description": "Verify device assignment for each rank using ncclCommSplit API", "test_filter": "Standalone.SplitComms_RankCheck"}, {"name": "Standalone.SplitComms_OneColor", "description": "Creates communicator for each device with same color", "test_filter": "Standalone.SplitComms_OneColor"}, {"name": "Standalone.SplitComms_Reduce", "description": "Reduces communicators into fewer ranks", "test_filter": "Standalone.SplitComms_Reduce"}, {"name": "Standalone.RegressionTiming", "description": "Verify no timing regression for protocols (LL, LL128, Simple)", "test_filter": "Standalone.RegressionTiming"}, {"name": "Standalone.StackSize", "description": "Verify RCCL kernel stack size for each gfx architecture", "test_filter": "Standalone.StackSize"}, {"name": "Standalone.CommCuDevice_Check", "description": "Verify device associated with communicator in single/multi-device scenarios", "test_filter": "Standalone.CommCuDevice_Check"}, {"name": "Standalone.SplitComms_RankCheck_Basic_Failure", "description": "Verify ncclCommUserRank fails with invalid communicator handle", "test_filter": "Standalone.SplitComms_RankCheck_Basic_Failure"}, {"name": "AllReduce.BiasInt8_Sum", "description": "AllReduce bias int8 sum", "test_filter": "AllReduce.BiasInt8_Sum"}, {"name": "AllReduce.BiasInt8_Max", "description": "AllReduce bias int8 max", "test_filter": "AllReduce.BiasInt8_Max"}, {"name": "AllReduce.BiasInt8_Min", "description": "AllReduce bias int8 min", "test_filter": "AllReduce.BiasInt8_Min"}, {"name": "AllReduce.BiasInt8_Prod", "description": "AllReduce bias int8 prod", "test_filter": "AllReduce.BiasInt8_Prod"}, {"name": "AllReduce.BiasUint8_Sum", "description": "AllReduce bias uint8 sum", "test_filter": "AllReduce.BiasUint8_Sum"}, {"name": "AllReduce.BiasUint8_Max", "description": "AllReduce bias uint8 max", "test_filter": "AllReduce.BiasUint8_Max"}, {"name": "AllReduce.BiasUint8_Min", "description": "AllReduce bias uint8 min", "test_filter": "AllReduce.BiasUint8_Min"}, {"name": "AllReduce.BiasUint8_Prod", "description": "AllReduce bias uint8 prod", "test_filter": "AllReduce.BiasUint8_Prod"}, {"name": "AllReduce.BiasInt32_Sum", "description": "AllReduce bias int32 sum", "test_filter": "AllReduce.BiasInt32_Sum"}, {"name": "AllReduce.BiasInt32_Max", "description": "AllReduce bias int32 max", "test_filter": "AllReduce.BiasInt32_Max"}, {"name": "AllReduce.BiasInt32_Min", "description": "AllReduce bias int32 min", "test_filter": "AllReduce.BiasInt32_Min"}, {"name": "AllReduce.BiasInt32_Prod", "description": "AllReduce bias int32 prod", "test_filter": "AllReduce.BiasInt32_Prod"}, {"name": "AllReduce.BiasUint32_Sum", "description": "AllReduce bias uint32 sum", "test_filter": "AllReduce.BiasUint32_Sum"}, {"name": "AllReduce.BiasUint32_Max", "description": "AllReduce bias uint32 max", "test_filter": "AllReduce.BiasUint32_Max"}, {"name": "AllReduce.BiasUint32_Min", "description": "AllReduce bias uint32 min", "test_filter": "AllReduce.BiasUint32_Min"}, {"name": "AllReduce.BiasUint32_Prod", "description": "AllReduce bias uint32 prod", "test_filter": "AllReduce.BiasUint32_Prod"}, {"name": "AllReduce.BiasInt64_Sum", "description": "AllReduce bias int64 sum", "test_filter": "AllReduce.BiasInt64_Sum"}, {"name": "AllReduce.BiasInt64_Max", "description": "AllReduce bias int64 max", "test_filter": "AllReduce.BiasInt64_Max"}, {"name": "AllReduce.BiasInt64_Min", "description": "AllReduce bias int64 min", "test_filter": "AllReduce.BiasInt64_Min"}, {"name": "AllReduce.BiasInt64_Prod", "description": "AllReduce bias int64 prod", "test_filter": "AllReduce.BiasInt64_Prod"}, {"name": "AllReduce.BiasUint64_Sum", "description": "AllReduce bias uint64 sum", "test_filter": "AllReduce.BiasUint64_Sum"}, {"name": "AllReduce.BiasUint64_Max", "description": "AllReduce bias uint64 max", "test_filter": "AllReduce.BiasUint64_Max"}, {"name": "AllReduce.BiasUint64_Min", "description": "AllReduce bias uint64 min", "test_filter": "AllReduce.BiasUint64_Min"}, {"name": "AllReduce.BiasUint64_Prod", "description": "AllReduce bias uint64 prod", "test_filter": "AllReduce.BiasUint64_Prod"}, {"name": "AllReduce.BiasFloat32_Sum", "description": "AllReduce bias float32 sum", "test_filter": "AllReduce.BiasFloat32_Sum"}, {"name": "AllReduce.BiasFloat32_Max", "description": "AllReduce bias float32 max", "test_filter": "AllReduce.BiasFloat32_Max"}, {"name": "AllReduce.BiasFloat32_Min", "description": "AllReduce bias float32 min", "test_filter": "AllReduce.BiasFloat32_Min"}, {"name": "AllReduce.BiasFloat32_Prod", "description": "AllReduce bias float32 prod", "test_filter": "AllReduce.BiasFloat32_Prod"}, {"name": "AllReduce.BiasFloat64_Sum", "description": "AllReduce bias float64 sum", "test_filter": "AllReduce.BiasFloat64_Sum"}, {"name": "AllReduce.BiasFloat64_Max", "description": "AllReduce bias float64 max", "test_filter": "AllReduce.BiasFloat64_Max"}, {"name": "AllReduce.BiasFloat64_Min", "description": "AllReduce bias float64 min", "test_filter": "AllReduce.BiasFloat64_Min"}, {"name": "AllReduce.BiasFloat64_Prod", "description": "AllReduce bias float64 prod", "test_filter": "AllReduce.BiasFloat64_Prod"}, {"name": "AlltoAll.Channels", "description": "AlltoAll with channels", "test_filter": "AlltoAll.Channels", "timeout": 1000}, {"name": "Register.ProcessIsolatedRegisterTests", "description": "Process isolated buffer registration tests", "test_filter": "Register.ProcessIsolatedRegisterTests"}, {"name": "Recorder.ParseBinary", "description": "Recorder parse binary tests", "test_filter": "Recorder.ParseBinary"}, {"name": "Recorder.ParseJson", "description": "Recorder parse JSON tests", "test_filter": "Recorder.ParseJson"}, {"name": "Recorder.VerifyMultithread", "description": "Recorder multithread verification tests", "test_filter": "Recorder.VerifyMultithread"}, {"name": "ProxyTraceTestFixture.nonEmptySingleton", "description": "ProxyTrace non-empty singleton test", "test_filter": "ProxyTraceTestFixture.nonEmptySingleton"}, {"name": "ProxyTraceTestFixture.addTraceOp", "description": "ProxyTrace add trace operation test", "test_filter": "ProxyTraceTestFixture.addTraceOp"}, {"name": "ProxyTraceTestFixture.getMapSizeMB", "description": "ProxyTrace get map size test", "test_filter": "ProxyTraceTestFixture.getMapSizeMB"}, {"name": "ProxyTraceTestFixture.updateTraceOp", "description": "ProxyTrace update trace operation test", "test_filter": "ProxyTraceTestFixture.updateTraceOp"}, {"name": "ProxyTraceTestFixture.updateTraceOp2", "description": "ProxyTrace update trace operation test 2", "test_filter": "ProxyTraceTestFixture.updateTraceOp2"}, {"name": "CollTraceUtilsTest.aggregateResultsTest", "description": "CollTrace aggregate results test", "test_filter": "CollTraceUtilsTest.aggregateResultsTest"}, {"name": "CollTraceUtilsTest.EventQueueOperationTest", "description": "CollTrace event queue operation test", "test_filter": "CollTraceUtilsTest.EventQueueOperationTest"}, {"name": "CollTraceUtilsTest.EventQueueMultiThreadTest", "description": "CollTrace event queue multithread test", "test_filter": "CollTraceUtilsTest.EventQueueMultiThreadTest"}, {"name": "CollTraceUtilsTest.getSizeMbTest", "description": "CollTrace get size MB test", "test_filter": "CollTraceUtilsTest.getSizeMbTest"}, {"name": "AllReduce.ROCTX", "description": "AllReduce with ROCTX logging (dedicated test)", "test_filter": "AllReduce.ROCTX"}, {"name": "DoneEventOrdering.FastPathStreamAlternation", "description": "DoneEventOrdering fast path stream alternation", "test_filter": "DoneEventOrdering.FastPathStreamAlternation", "timeout": 240}, {"name": "DoneEventOrdering.PostReinitStreamAlternation", "description": "DoneEventOrdering post-reinit stream alternation", "test_filter": "DoneEventOrdering.PostReinitStreamAlternation", "timeout": 240}, {"name": "DoneEventOrdering.SameStreamBaseline", "description": "DoneEventOrdering same stream baseline", "test_filter": "DoneEventOrdering.SameStreamBaseline", "timeout": 240}, {"name": "DoneEventOrdering.GroupedPathBaseline", "description": "DoneEventOrdering grouped path baseline", "test_filter": "DoneEventOrdering.GroupedPathBaseline", "timeout": 240}, {"name": "DoneEventOrdering.DefaultStreamToNamedStream", "description": "DoneEventOrdering default to named stream", "test_filter": "DoneEventOrdering.DefaultStreamToNamedStream", "timeout": 240}, {"name": "DoneEventOrdering.SameStreamThenSwitch", "description": "DoneEventOrdering same stream then switch", "test_filter": "DoneEventOrdering.SameStreamThenSwitch", "timeout": 240} ] }, "unit_tests_fixtures": { "is_gtest": true, "binary": "rccl-UnitTestsFixtures", "num_ranks": 1, "num_nodes": 1, "num_gpus": 8, "timeout": 90, "env_variables": { "NCCL_DEBUG": "" }, "rerun_env_variables": { "NCCL_DEBUG": "INFO" }, "tests": [ {"name": "BitOps", "description": "Bit operation utility tests (macros and typed fixtures)", "test_filter": "ALIGN_*:DIVUP:ROUNDUP:u32fp*:*Hash:BitOpsTemplate*"}, {"name": "CommTests", "description": "Communicator helper tests", "test_filter": "CommTests.*"}, {"name": "EnqueueCountTests", "description": "Enqueue send/recv count helpers", "test_filter": "EnqueueCountTests.*"}, {"name": "MiscTests.Sorter", "description": "Task coll sorter unit test", "test_filter": "MiscTests.Sorter"}, {"name": "VersionInfoTests", "description": "HIP/ROCm version string formatting tests", "test_filter": "VersionInfoTests.*"}, {"name": "GinDeviceTest", "description": "GIN proxy backend device-leaf tests", "test_filter": "GinDeviceTest.*"} ] } }, "test_suites": [ { "name": "RCCL Unit Tests - All Collectives", "description": "Standard RCCL unit tests for all collective operations", "config": "unit_tests", "enabled": true }, { "name": "RCCL Unit Tests - Fixtures", "description": "rccl-UnitTestsFixtures (header-level tests including MiscTests.Sorter)", "config": "unit_tests_fixtures", "enabled": true } ] }