HcclCommDestroy
Description
Destroys a specified HCCL communicator.
Prototype
HcclResult HcclCommDestroy(HcclComm comm)
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
comm |
Input |
Pointer to the communicator to be destroyed. For details about the definition of the HcclComm type, see HcclComm. |
Returns
HcclResult: HCCL_SUCCESS on success; else, failure.
Constraints
- This API can be called across threads.
- When the communicator is suspended during link setup or not occupied, this API can be called across threads to destroy the communicator and HCCL_SUCCESS is returned.
After the communicator is successfully destroyed, the communication operator that is being executed exits without waiting for the timeout and reports an error. The error log is printed, with the keyword of "Terminating operation due to external request".
- When the communicator is not in the link setup suspension state or is in other occupied states (for example, during communicator link setup or communication operator execution), the HCCL_E_AGAIN error is returned and a log at the WARNING level is printed when this API is called across threads. The log keyword is "[HcclCommDestroy] comm is in use, please try again later".
- When the communicator is suspended during link setup or not occupied, this API can be called across threads to destroy the communicator and HCCL_SUCCESS is returned.
- In the multi-thread scenario, the call sequence of the HCCL APIs must be ensured. After this API is called to destroy the communicator, other APIs related to collective communication cannot be called.
Applicability
Parent topic: Communicator Management