比较与torch.distributed.reduce_scatter的差异
torch.distributed.reduce_scatter
torch.distributed.reduce_scatter(
output,
input_list,
op=ReduceOp.SUM,
group=None,
async_op=False
)
mindspore.communication.comm_func.reduce_scatter_tensor
mindspore.communication.comm_func.reduce_scatter_tensor(
tensor,
op=ReduceOp.SUM,
group=None,
async_op=False
)
更多内容详见mindspore.communication.comm_func.reduce_scatter_tensor。
差异对比
PyTorch:该接口输入output
将保存分散结果,input_list
包含要reduce_scatter的张量列表。每个进程提供相同数量的张量(具有相同的大小)。group
是通信组,异步操作标志async_op
。如果async_op=True
,则返回一个异步工作句柄,否则返回None
。
MindSpore:该接口输入张量tensor
,通信组group
和异步操作标志async_op
,异步操作标志async_op
。输入tensor
的第一个维度可以被N(通信域中的设备数量)整除,其余维度与输入张量相同。如果async_op=True
,则返回一个异步工作句柄,否则返回None
。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
output |
- |
PyTorch:输入tensor,进行reduce_scatter操作后将结果写回tensor,MindSpore无此参数 |
参数2 |
input_list |
tensor |
PyTorch:“input_list”包含需要被reduce_scatter的张量列表,MindSpore:输入tensor的第一个维度可以被N(通信域中的设备数量)整除,其余维度与输入张量相同。 |
|
参数3 |
op |
op |
一致 |
|
参数4 |
group |
group |
一致 |
|
参数5 |
async_op |
async_op |
一致 |
|
返回值 |
单返回值 |
async_work_handle |
tuple(tensor, CommHandle) |
PyTorch:如果 |