Nccl Collective Backend#

struct NcclUniqueId#

NCCL unique ID storage without exposing NCCL headers to runtime consumers.

Public Members

char internal[128]#
void trt_edgellm::rt::NcclCollectiveBackend::load()#

Load NCCL and all required symbols, or throw on failure.

bool trt_edgellm::rt::NcclCollectiveBackend::isLoaded() noexcept#

Return true if NCCL has already been loaded successfully.

void trt_edgellm::rt::NcclCollectiveBackend::getUniqueId(
NcclUniqueId &uniqueId
)#

Create one NCCL unique ID.

void trt_edgellm::rt::NcclCollectiveBackend::initRank(
void **comm,
int32_t size,
NcclUniqueId const &uniqueId,
int32_t rank
)#

Initialize one rank’s communicator from an exchanged NCCL unique ID.

std::vector<void*> trt_edgellm::rt::NcclCollectiveBackend::initAll(
std::vector<int32_t> const &devices
)#

Initialize all ranks in one process using ncclCommInitAll.

void trt_edgellm::rt::NcclCollectiveBackend::destroyComm(
void *comm
) noexcept#

Destroy one communicator handle.

void trt_edgellm::rt::NcclCollectiveBackend::abortComm(
void *comm
) noexcept#

Abort one communicator handle to release peers blocked in a collective.

void trt_edgellm::rt::NcclCollectiveBackend::abortComms(
std::vector<void*> const &comms
) noexcept#

Abort a group of communicator handles.

void trt_edgellm::rt::NcclCollectiveBackend::destroyComms(
std::vector<void*> const &comms
) noexcept#

Destroy a group of communicator handles.

void trt_edgellm::rt::NcclCollectiveBackend::allReduce(
void const *sendBuffer,
void *recvBuffer,
size_t count,
CollectiveDataType dataType,
void *comm,
cudaStream_t stream
)#
void trt_edgellm::rt::NcclCollectiveBackend::allGather(
void const *sendBuffer,
void *recvBuffer,
size_t sendCount,
CollectiveDataType dataType,
void *comm,
cudaStream_t stream
)#
void trt_edgellm::rt::NcclCollectiveBackend::broadcast(
void const *sendBuffer,
void *recvBuffer,
size_t count,
CollectiveDataType dataType,
int32_t rootRank,
void *comm,
cudaStream_t stream
)#
int32_t trt_edgellm::rt::NcclCollectiveBackend::allReduceRaw(
void const *sendBuffer,
void *recvBuffer,
size_t count,
CollectiveDataType dataType,
void *comm,
cudaStream_t stream
) noexcept#

Raw noexcept NCCL calls for callers that need to convert failures into status returns.

int32_t trt_edgellm::rt::NcclCollectiveBackend::allGatherRaw(
void const *sendBuffer,
void *recvBuffer,
size_t sendCount,
CollectiveDataType dataType,
void *comm,
cudaStream_t stream
) noexcept#
int32_t trt_edgellm::rt::NcclCollectiveBackend::broadcastRaw(
void const *sendBuffer,
void *recvBuffer,
size_t count,
CollectiveDataType dataType,
int32_t rootRank,
void *comm,
cudaStream_t stream
) noexcept#
void *trt_edgellm::rt::NcclCollectiveBackend::allReduceFunction(
) noexcept#

Function pointer used by TensorRT plugins that call ncclAllReduce directly.