1.修改/etc/hosts文,添加参与计算的机器名和ip地址,比如:
127.0.0.1 localhost.localdomain localhost
192.168.1.1 node0
192.168.1.2 node1
有两个节点node0和node1参加计算
2.生成ssh密钥:
#cd ~
#ssh-keygen -t rsa
在当前用户的home目录下生成了一个.ssh目录
3.进入.ssh目录:
#cd .ssh
#cp id_rsa.pub authorized_keys
4.在每个节点的home目录下:
#ssh-keygen -t rsa 生成.ssh目录
#scp node0的IP:/home/mpi/.ssh/* ~/.ssh 拷贝node0上的.ssh目录覆盖本地的.ssh
5.对每个节点执行:
#ssh node0
#ssh node1
根据提示键入yes即可。最终保证从任意一个节点ssh到其他所有节点都不用输入密码。
6.确保并行程序在运算节点的相同路径下,或节点间采用nfs文件共享,编辑一个hostfile文件,加入参与运算的节点:
#vi hostfile
node0
node1
运行mpirun:
#mpirun -machinefile hostfile -np 2 cpi
文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/20071226/94130.html