reduce
Applicability
Product |
Supported (√/x) |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
☓ |
|
☓ |
|
√ |
Function
Performs the sum operation (or other reduction operations) on the data of all ranks and sends the result to the specified position on the root rank.

Prototype
1 | def reduce(tensor, reduction, root_rank, fusion=0, fusion_id=-1, group="hccl_world_group") |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
tensor |
Input |
TensorFlow tensor type. Atlas 350 Accelerator Card: The supported data types are int8, int16, int32, int64, uint64, float16, float32, float64, and bfp16. Data types int64, uint64, and float64 supports only intra-node communication. |
reduction |
Input |
Reduction operation, string type. Atlas 350 Accelerator Card: The supported operation types are sum, max, and min. |
root_rank |
Input |
Rank ID of the root rank, and must be a rank ID in the group, int type. |
fusion |
Input |
reduce operator fusion flag, int type. The value can be one of the following:
|
fusion_id |
Input |
reduce operator fusion ID, int type. If fusion is set to 2, Reduce operators with the same fusion_id are fused during network compilation. |
group |
Input |
A string containing a maximum of 128 bytes, including the end character. Group name, which can be a user-defined value or hccl_world_group. |
Returns
The result tensor after the reduce operation is performed on the input tensor.
Restrictions
- The caller rank must be within the range defined by the group argument passed to this API call. Otherwise, the API call fails.
- The input tensor size must be less than or equal to 8 GB.
- For the reduce operator fusion, only the reduction type sum is supported.
Example
1 2 3 | from npu_bridge.hccl import hccl_ops tensor = tf.random_uniform((1, 3), minval=1, maxval=10, dtype=tf.float32) result = hccl_ops.reduce(tensor, "sum", 0) |