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的別名?)順便說一句,如果主機文件中的用戶名與主機上的用戶名相同,則不需要指定用戶名。 –