HcclCommConfigInit

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

For Atlas A2 training product/Atlas A2 inference product, only the Atlas 800T A2 training server, Atlas 900 A2 PoD cluster basic unit, and Atlas 200T A2 Box16 heterogeneous subrack are supported.

For the Atlas inference products, only the Atlas 300I Duo inference card is supported.

Function

Initializes the communicator configuration items and sets the configurable parameters to the default values.

Prototype

1
inline void HcclCommConfigInit(HcclCommConfig *config)

Parameters

Parameter

Input/Output

Description

config

Output

Configuration option of the communicator to be initialized.

For details about the definition of the HcclCommConfig type, see HcclCommConfig.

Returns

None

Constraints

None

Call Example

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
uint32_t rankSize = 8;
uint32_t deviceId = 0;
// Generate the identification information of the root rank.
HcclRootInfo rootInfo;
HcclGetRootInfo(&rootInfo);

// Create and initialize the configuration items of the communicator.
HcclCommConfig config;
HcclCommConfigInit(&config);
// Modify the communicator configuration as required.
config.hcclBufferSize = 1024;  // Size of the buffer for storing the shared data, in MB. The value must be greater than or equal to 1. The default value is 200.
config.hcclDeterministic = 1;  // Controls whether to enable deterministic computing for reduction communication operators. The default value is 0, indicating that deterministic computing is disabled.
std::strcpy(config.hcclCommName, "comm_1");
// Initialize the collective communicator.
HcclComm hcclComm;
HCCLCHECK(HcclCommInitRootInfoConfig(rankSize, &rootInfo, deviceId, &config, &hcclComm));

// Destroy the communicator.
HcclCommDestroy(hcclComm);