MSCCL Algorithm#
Rocprofiler SDK Developer API 0.5.0
ROCm Profiling API and tools
|
API calls relating to the optional MSCCL algorithm datapath. More...
Typedefs | |
typedef int | mscclAlgoHandle_t |
Opaque handle to MSCCL algorithm. | |
Functions | |
ncclResult_t | mscclLoadAlgo (const char *mscclAlgoFilePath, mscclAlgoHandle_t *mscclAlgoHandle, int rank) |
MSCCL Load Algorithm. | |
ncclResult_t | mscclRunAlgo (const void *sendBuff, const unsigned long sendCounts[], const unsigned long sDisPls[], void *recvBuff, const unsigned long recvCounts[], const unsigned long rDisPls[], unsigned long count, ncclDataType_t dataType, int root, int peer, ncclRedOp_t op, mscclAlgoHandle_t mscclAlgoHandle, ncclComm_t comm, hipStream_t stream) |
MSCCL Run Algorithm. | |
ncclResult_t | mscclUnloadAlgo (mscclAlgoHandle_t mscclAlgoHandle) |
MSCCL Unload Algorithm. | |
Detailed Description
API calls relating to the optional MSCCL algorithm datapath.
Typedef Documentation
◆ mscclAlgoHandle_t
typedef int mscclAlgoHandle_t |
Function Documentation
◆ mscclLoadAlgo()
ncclResult_t mscclLoadAlgo | ( | const char * | mscclAlgoFilePath, |
mscclAlgoHandle_t * | mscclAlgoHandle, | ||
int | rank | ||
) |
MSCCL Load Algorithm.
Load MSCCL algorithm file specified in mscclAlgoFilePath and return its handle via mscclAlgoHandle. This API is expected to be called by MSCCL scheduler instead of end users.
- Returns
- Result code. See Result Codes for more details.
- Parameters
-
[in] mscclAlgoFilePath Path to MSCCL algorithm file [out] mscclAlgoHandle Returned handle to MSCCL algorithm [in] rank Current rank
◆ mscclRunAlgo()
ncclResult_t mscclRunAlgo | ( | const void * | sendBuff, |
const unsigned long | sendCounts[], | ||
const unsigned long | sDisPls[], | ||
void * | recvBuff, | ||
const unsigned long | recvCounts[], | ||
const unsigned long | rDisPls[], | ||
unsigned long | count, | ||
ncclDataType_t | dataType, | ||
int | root, | ||
int | peer, | ||
ncclRedOp_t | op, | ||
mscclAlgoHandle_t | mscclAlgoHandle, | ||
ncclComm_t | comm, | ||
hipStream_t | stream | ||
) |
MSCCL Run Algorithm.
Run MSCCL algorithm specified by mscclAlgoHandle. The parameter list merges all possible parameters required by different operations as this is a general-purposed API. This API is expected to be called by MSCCL scheduler instead of end users.
- Returns
- Result code. See Result Codes for more details.
- Parameters
-
[in] sendBuff Data array to send [in] sendCounts Array containing number of elements to send to each participating rank [in] sDisPls Array of offsets into sendbuff for each participating rank [out] recvBuff Data array to receive [in] recvCounts Array containing number of elements to receive from each participating rank [in] rDisPls Array of offsets into recvbuff for each participating rank [in] count Number of elements [in] dataType Data buffer element datatype [in] root Root rank index [in] peer Peer rank index [in] op Reduction operator [in] mscclAlgoHandle Handle to MSCCL algorithm [in] comm Communicator group object to execute on [in] stream HIP stream to execute collective on
◆ mscclUnloadAlgo()
ncclResult_t mscclUnloadAlgo | ( | mscclAlgoHandle_t | mscclAlgoHandle | ) |
MSCCL Unload Algorithm.
Unload MSCCL algorithm previous loaded using its handle. This API is expected to be called by MSCCL scheduler instead of end users.
- Returns
- Result code. See Result Codes for more details.
- Parameters
-
[in] mscclAlgoHandle Handle to MSCCL algorithm to unload
Generated by 1.9.8