我已经成功地在服务器和我的计算机之间设置了无密码的 ssh。有一个简单的 openMPI 程序,它在单台计算机上运行良好。但是,不幸的是,当我在集群上尝试这个时,我既没有收到密码提示(因为我已经设置了 ssh 授权),也没有继续执行。
主机文件看起来像这样,
# 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:
gautam@pcys13.grm.polymtl.ca slots=8
gautam@srvgrm04 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();
}
我就这样跑mpirun -np 16 --hostfile hostfile ./hello
使用 -d 选项时,日志是这样的,
[gautam@pcys33:~/LTE/check ]% mpirun -np 16 --hostfile hostfile -d ./hello
[pcys33.grm.polymtl.ca:02686] procdir: /tmp/openmpi-sessions-gautam@pcys33.grm.polymtl.ca_0/60067/0/0
[pcys33.grm.polymtl.ca:02686] jobdir: /tmp/openmpi-sessions-gautam@pcys33.grm.polymtl.ca_0/60067/0
[pcys33.grm.polymtl.ca:02686] top: openmpi-sessions-gautam@pcys33.grm.polymtl.ca_0
[pcys33.grm.polymtl.ca:02686] tmp: /tmp
[srvgrm04:77812] procdir: /tmp/openmpi-sessions-gautam@srvgrm04_0/60067/0/1
[srvgrm04:77812] jobdir: /tmp/openmpi-sessions-gautam@srvgrm04_0/60067/0
[srvgrm04:77812] top: openmpi-sessions-gautam@srvgrm04_0
[srvgrm04:77812] tmp: /tmp
你能从日志中做出推断吗?