raft_dask.common.nccl#

3 min read time

Applies to Linux

Attributes#

Classes#

nccl

A NCCL/RCCL wrapper for initializing and closing NCCL/RCCL comms

Functions#

unique_id()

unique_id()

Module Contents#

class raft_dask.common.nccl.nccl#

A NCCL/RCCL wrapper for initializing and closing NCCL/RCCL comms in Python. RCCL is the AMD implementation of NCCL.

static __reduce__(*args, **kwargs)#

nccl.__reduce_cython__(self)

static __setstate__(*args, **kwargs)#

nccl.__setstate_cython__(self, __pyx_state)

static get_unique_id()#

nccl.get_unique_id()

Returns a new nccl unique id

Returns:

nccl unique id

Return type:

str

abort()#

nccl.abort(self)

Call abort on the underlying nccl comm

cu_device()#

nccl.cu_device(self)

Get the device backing the underlying comm

Returns:

device id

Return type:

int

destroy()#

nccl.destroy(self)

Call destroy on the underlying NCCL comm

get_comm()#

nccl.get_comm(self)

Returns the underlying nccl comm in a size_t (similar to void*). This can be safely typecasted from size_t into ncclComm_t*

Returns:

ncclComm_t instance pointer

Return type:

size_t

init(nranks, commId, rank)#

nccl.init(self, nranks, commId, rank)

Construct a nccl-py object

Parameters:
  • nranks (int size of clique)

  • commId (string unique id from client)

  • rank (int rank of current worker)

user_rank()#

nccl.user_rank(self)

Get the rank id of the current comm

Returns:

rank

Return type:

int

raft_dask.common.nccl.unique_id()#

unique_id()

Returns a new ncclUniqueId converted to a character array that can be safely serialized and shared to a remote worker.

Returns:

128-byte unique id

Return type:

str

raft_dask.common.nccl.NCCL_UNIQUE_ID_BYTES: int = 128#