本地集群部署Vega,需满足如下条件:
- Ubuntu 18.04 or later。
- CUDA 10.0
- Python 3.7
- pip3
注: 若需要在Ascend 910集群上部署,请和我们联系。
集群在部署时,需要在每个集群节点中安装vega和一些必备的软件包,可执行如下命令进行安装:
pip3 install --user --upgrade noah-vega
除此之外,还需安装MPI
软件,可参考附录安装MPI完成安装过程。
在各个主机上安装上述软件后,还需要配置SSH互信,并构建NFS。
以上工作完成后,集群已部署完成。
集群部署完成后,请执行以下命令检查集群是否可用:
vega-verify-cluster -m <master IP> -s <slave IP 1> <slave IP 2> ... -n <shared NFS folder>
例如:
vega-verify-cluster -m 192.168.0.2 -s 192.168.0.3 192.168.0.4 -n /home/alan/nfs_folder
校验结束后,会有显示"All cluster check items have passed."。 若校验中出现错误,请根据异常信息调整集群。
-
使用apt工具直接安装mpi
sudo apt-get install mpi
-
运行如下命令检查MPI是否可以运行
mpirun
网络任意两台主机都需要支持SSH互信,配置方法为:
-
安装ssh:
sudo apt-get install sshd
-
分别生成密钥:
ssh-keygen -t rsa
会在~/.ssh/文件下生成id_rsa, id_rsa.pub两个文件,其中id_rsa.pub是公钥 -
确认目录下的authorized_keys文件: 若不存在需要创建, 并
chmod 600 ~/.ssh/authorized_keys
改变权限。 -
拷贝公钥: 分别将公钥id_rsa.pub内容拷贝到其他机器的authorized_keys文件中。
NFS服务器设置:
-
安装NFS服务器:
sudo apt install nfs-kernel-server
-
创建NFS服务器共享目录,如下例中的
/<user home path>/nfs_cache
:cd ~ mkdir nfs_cache
-
将共享目录写入配置文件
/etc/exports
中:sudo bash -c "echo '/home/<user home path>/nfs_cache *(rw,sync,no_subtree_check,no_root_squash,all_squash)' >> /etc/exports"
-
将共享目录设置为
nobody
用户sudo chown -R nobody: /<user home path>/nfs_cache
-
重启nfs服务器:
sudo service nfs-kernel-server restart
在每个服务器都需要配置NFS客户端:
-
安装客户端工具:
sudo apt install nfs-common
-
创建本地挂载目录
cd ~ mkdir -p ./nfs_folder
-
挂载共享目录:
sudo mount -t nfs <服务器ip>:/<user home path>/nfs_cache /<user home path>/nfs_folder
挂载完成后,/<user home path>/nfs_folder
就是多机集群的工作目录,请在该目录下运行Vega程序。