0
我已经成功地在服务器和我的电脑之间设置了更少的密码ssh。 有一个简单的openMPI程序在单台计算机上运行良好。 但是,不幸的是,当我在集群上尝试这个时,我没有得到密码提示(因为我设置了ssh授权),也没有执行前进。在服务器集群上运行openMPI时发生无限等待?
HOSTFILE看起来是这样的,
# The Hostfile for Open MPI
# The master node, 'slots=8' is used because it has 8 cores
localhost slots=8
# The following slave nodes are single processor machines:
[email protected] slots=8
[email protected] slots=160
我在集群上运行的hello world MPI程序,
int main(int argc, char *argv[]) {
int numprocs, rank, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
double t;
MPI_Init(&argc, &argv);
t=MPI_Wtime();
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Get_processor_name(processor_name, &namelen);
printf("Process %d on %s out of %d\n", rank, processor_name, numprocs);
MPI_Finalize();
}
,我使用-d选项时运行这样mpirun -np 16 --hostfile hostfile ./hello
, 的日志是这样的,
[[email protected]:~/LTE/check ]% mpirun -np 16 --hostfile hostfile -d ./hello
[pcys33.grm.polymtl.ca:02686] procdir: /tmp/[email protected]_0/60067/0/0
[pcys33.grm.polymtl.ca:02686] jobdir: /tmp/[email protected]_0/60067/0
[pcys33.grm.polymtl.ca:02686] top: [email protected]_0
[pcys33.grm.polymtl.ca:02686] tmp: /tmp
[srvgrm04:77812] procdir: /tmp/[email protected]_0/60067/0/1
[srvgrm04:77812] jobdir: /tmp/[email protected]_0/60067/0
[srvgrm04:77812] top: [email protected]_0
[srvgrm04:77812] tmp: /tmp
你能从日志中作出推断吗?
也许尝试了'-d'为'mpirun'得到一些想法发生了什么的防火墙。 – Zulan
我编辑包含日志时,我试了-d选项与运行! –
你确定'hello'存在于所有节点上,并且位于相同的文件系统路径中吗?显然,ORTE守护进程正在第二个节点上成功启动,尽管日志中缺少'pcys13.grm.polymtl.ca'可能表明连接到它的问题(或者它是srvgrm04的别名?)顺便说一句,如果主机文件中的用户名与主机上的用户名相同,则不需要指定用户名。 –