Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chipRCCL

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.).

Scope

Implemented (nranks == 1 only):

  • ncclGetUniqueId, ncclCommInitRank, ncclCommFinalize, ncclCommDestroy
  • ncclAllReduce (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.

Build

make CC=hipcc            # produces lib/librccl.a
# or
cmake -S . -B build && cmake --build build

Link with -I<chipRCCL>/include <chipRCCL>/lib/librccl.a.

Provenance

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.

About

Minimal single-process RCCL (NCCL API) implementation for chipStar

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages