set_split_strategy_by_idx
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
☓ |
|
√ |
|
√ |
For
For the
Function
Sets a gradient segmentation strategy in a collective communication group based on the gradient index ID to implement AllReduce fusion and optimize the collective communication performance.
Prototype
1 | def set_split_strategy_by_idx(idxList, group="hccl_world_group") |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
idxList |
Input |
A list. Index ID list of gradients.
|
group |
Input |
A string. Group name, which can be a user-defined value or hccl_world_group. Defaults to hccl_world_group. |
Returns
None
Constraints
- The caller rank must be within the range defined by the group argument passed to this API call. Otherwise, the API call fails.
- If you do not call the gradient segmentation API to set the segmentation policy, the default backward gradient segmentation policy is used.
Default segmentation strategy: two segments with the first taking up 96.54% of the gradient data size, and the second segment taking up 3.46% (In some cases, there is only one segment).
Call Example
1 2 | from hccl.split.api import * set_split_strategy_by_idx([20, 100, 159], "group") |