Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
☓ |
√ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
For
Ends a group call.
1 | HcclResult HcclGroupEnd() |
None.
HcclResult: HCCL_SUCCESS on success, or else failure.
HcclComm hccl_comms[devCount];
HcclGroupStart();
for(int i = 0; i < ndev; i++){
//
aclrtSetDevice(i);
HcclCommInitRootInfo(devCount, &rootInfo, global_rank, &(hccl_comms[i]));
}
HcclGroupEnd();
HcclGroupStart();
HCCLCHECK(HcclReduceScatter(sendBuf, recvBuf, 1, HCCL_DATA_TYPE_FP32, HCCL_REDUCE_SUM, hcclComm, stream));
HCCLCHECK(HcclAllGather(recvBuf, sendBuf, 1, HCCL_DATA_TYPE_FP32, hcclComm, stream));
HcclGroupEnd();
HcclGroupStart();
for(int i = 0; i < devCount; i++){
HCCLCHECK(HcclSend(sendBuf[i], count, HCCL_DATA_TYPE_FP32, i, hcclComm, stream));
}
for(int i = 0; i < devCount; i++){
HCCLCHECK(HcclRecv(recvBuf[i], count, HCCL_DATA_TYPE_FP32, i, hcclComm, stream));
}
HcclGroupEnd();