问题描述:
import mindspore.ops as ops
import mindspore.nn as nn
from mindspore.communication import init
from mindspore import Tensor
import numpy as np
init()
class Net(nn.Cell):
def __init__(self):
super(Net, self).__init__()
self.depend = ops.Depend()
self.send = ops.Send(st_tag=0, dest_rank=8, group="hccl_world_group")
def construct(self, x):
out = self.depend(x, self.send(x))
return out
input_ = Tensor(np.ones([2, 8]).astype(np.float32))
net = Net()
output = net(input_)
这是mindspore的通信算子里的例子,我想知道这样的程序我在一个8卡910的服务器上如何运行,因为send的功能是我的项目需要的,我在网上看到很多包括msrun启动,ranktable一类的,不知道具体使用哪个?
解决方法:
msrun和ranktable都可以使用,目前最新版本是推荐使用msrun,可以参考mindformer里面的并行配置:
https://gitee.com/mindspore/mindformers