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