Skip to content

ffrancesco94/RCCL.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RCCL

Stable Dev Build Status Coverage

Wrapper of the RCCL (Radeon Collective Communication Library) for Julia. The bindings to the C functions were generated with Clang.jl. The API is very similar to that of NCCL.jl and passes the same set of tests as that.

General notes

A couple of implementation details differ between RCCL.jl and NCCL.jl due to discrepancies between the AMDGPU.jl and CUDA.jl; specifically:

  • CUDA.jl exports a CUstream type which is simply an alias of cuStream_t which then gets wrapped in a CuStream struct. CUstream can be passed to all NCCL C functions since it is basically a C type. AMDGPU.jl exposes a Julia struct called HIPStream which contains a handle to a hipStream_t C type (which itself is not exported). Thus, when @ccalling RCCL functions, a simple Ptr{Cvoid} is passed. This should change if somehow a hipStream_t is exposed by AMDGPU.jl;
  • CUDA.jl has a

About

Julia wrapper for the Radeon collective communication library (RCCL).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages