서버와 컴퓨터 사이의 암호를 적게 설정했습니다. 단일 컴퓨터에서 잘 실행되는 간단한 openMPI 프로그램이 있습니다. 하지만 유감스럽게도 클러스터에서이 작업을 시도 할 때 암호 프롬프트가 표시되지 않으며 (ssh 인증을 설정했기 때문에) 실행도 진행되지 않습니다.서버 클러스터에서 openMPI를 실행하는 동안 무한 대기합니까?
Hostfile 내가
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();
}
클러스터에 안녕하세요 세계 MPI 프로그램을 실행하고 있고 -d 옵션을 사용할 때이 mpirun -np 16 --hostfile hostfile ./hello
처럼 실행하고
# 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
, 다음과 같습니다 , 로그는 다음과 같습니다.
[[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
로그에서 추론 할 수 있습니까?
무슨 일이 일어나고 있는지 몇 가지 아이디어를 얻기 위해 'mpirun'에'-d' 시도의 방화벽을 해제해야합니다. – Zulan
내가 실행할 때 -d 옵션을 시도했을 때 로그를 포함하도록 편집했습니다! –
모든 노드에서'hello'가 존재하고 동일한 파일 시스템 경로에 있는지 확인합니까? 로그에'pcys13.grm.polymtl.ca'가 없으면 연결에 문제가 있음을 나타낼 수 있지만 (또는'srvgrm04'에 대한 별명입니까?) ORTE 데몬은 두 번째 노드에서 성공적으로 시작됩니다. BTW, 사용자가 마스터 호스트에있는 사용자 이름과 같으면 hostfile에 사용자 이름을 지정할 필요가 없습니다. –