HCCL的通信域初始化依赖MPI拉起多个进程,所以进行HCCL的代码样例编写前,需要先安装配置MPI软件包。
如果通信网卡使用IPv4协议,需要安装MPI 3.2.1版本;如果通信网卡使用IPv6协议,则需要安装Open MPI-4.1.5版本。
下面操作以安装MPI 3.2.1版本的软件包为例。
下载3.2.1版本的软件包,例如:mpich-3.2.1.tar.gz,然后执行如下命令解压缩软件包。
tar -zxvf mpich-3.2.1.tar.gz
cd mpich-3.2.1 ./configure --disable-fortran --prefix=/usr/local/mpich-3.2.1
其中 --prefix 表示配置的MPI安装路径,用户可自定义。
make && make install
以上命令执行完成后MPICH会安装在 /usr/local/mpich-3.2.1路径下。
将运行环境的网卡IPv6地址加入到 /etc/hosts 文件中,如下图所示:
注意如果是Euler OS操作系统,需要执行nmcli c reload命令使更新后的“/etc/hosts”文件生效。
以下仅为操作示例:
ssh-keygen -t rsa
例如密钥信息生成后,存储在/root/.ssh/id_rsa.pub文件中。
针对图1中的node3与node4节点,示例如下:
ssh-copy-id -i /root/.ssh/id_rsa.pub node3_ipv6_address ssh-copy-id -i /root/.ssh/id_rsa.pub node4_ipv6_address
export HYDRA_LAUNCHER_EXTRA_ARGS="-B 本节点的IPv6网卡名"