并行框架用openmpi或者mpich,这里以openmpi为例
【环境安装】
1、下载openmpi-xx-xx包,比如openmpi-1.10.3.tar.gz
2、解压 tar -zxvf openmpi-1.10.3.tar.gz
3、./configure --prefix=/usr/software/openmpi
4、make && make install
5、在.bashrc里加入环境变量
MPI_HOME=/usr/software/openmpi
export PATH=$MPI_HOME/bin:$PATH
export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH
6、source ~/.bashrc
安装完成!
【执行mpirun】
单节点多线程模式(以天河上节点为例)
mpirun --allow-run-as-root -np 4 exec.sh
说明:root用户需要加–allow-run-as-root;此处表示单节点上运行4个进程。
多节点多线程模式(比如在N1节点上运行该程序)
mpirun --allow-run-as-root -np 4 --mca btl_tcp_if_include enp8s0f1 --mca orte_base_help_aggregate 0 --map-by node --hostfile host exec.sh
运行流程图
说明:
- 天河节点上需要加 –mca btl_tcp_if_include enp8s0f1 –mca orte_base_help_aggregate 0这些参数(根据报出的问题知晓的)
- btl_tcp_if_include表示节点间通信的网卡。
- 注意:多节点上运行时需要进行linux主机上ssh免密设置,详见多节点免密配置
- –map-by node 表示按host中设置的主机轮询的分配这 -np个线程。