参考原生接口[object Object]功能,[object Object]接口新增支持零拷贝和非等长切分功能。
[object Object]
- output (
[object Object]):输出Tensor,用于接收计算数据。 - input (
[object Object]):输入Tensor,用于提供计算数据,[object Object]的shape为所有卡上[object Object]的shape拼接大小。 - input_split_sizes (
[object Object]):输入tensor的0维分割数组,默认值None;元素个数需要与当前调用的group的size一致;元素之和需要与input的0维大小一致。[object Object]元素之和与[object Object]的0维不一致时报错:RuntimeError: Split sizes doesn't match total dim 0 size。[object Object]元素个数与[object Object]的size不一致时报错:RuntimeError: Number of tensor splits not equal to group size。
- op (
[object Object]):reduce算子,用于控制计算逻辑,默认值dist.ReduceOp.SUM。 - group (
[object Object]):分布式进程组,默认值None。 - async_op (
[object Object]):是否异步调用,默认值False。
[object Object]的shape无特殊约束。
此接口仅可在单机场景下使用。
[object Object]元素之和等于[object Object]的0维;[object Object]元素个数等于[object Object]的size。
创建以下文件test.py并保存。
[object Object]
执行如下命令。
[object Object]