Minimal RCCL (NCCL API) implementation for chipStar.
Upstream RCCL builds only on ROCm/HSA, so HIP programs using collectives cannot build on chipStar (see chipStar issue #1412). chipRCCL provides the NCCL API surface for the single-process, single-rank case, where the collectives degenerate to well-defined local operations (allreduce with one rank is a device-to-device copy on the caller's stream, etc.).
Implemented (nranks == 1 only):
ncclGetUniqueId,ncclCommInitRank,ncclCommFinalize,ncclCommDestroyncclAllReduce(device-to-device copy on the given stream)ncclGetErrorString
ncclCommInitRank with nranks != 1 returns an error with a clear message:
multi-rank collectives need a real transport and are out of scope.
make CC=hipcc # produces lib/librccl.a
# or
cmake -S . -B build && cmake --build build
Link with -I<chipRCCL>/include <chipRCCL>/lib/librccl.a.
Extracted from the HeCBench chipStar sweep (CHIP-SPV/HeCBench branch
individual-fixes, ccl-hip), where it makes the RCCL benchmark build and pass
its own element-wise verification on Intel Arc B570.