2011-07-09 12 views
5

4つのノードで簡単なMPIプログラムを実行しようとしています。 CentOS 5.5で動作するOpenMPI 1.4.3を使用しています。私がhostfile/machinefileでMPIRUNコマンドを送信すると、出力が得られず、空の画面が表示されます。したがって、私は仕事を殺す必要があります。OpenMPI 1.4.3 mpirunホストファイルエラー

私は、次のrunコマンドを使用します:mpirunの--hostfileホストファイル-np 4 new46

OUTPUT ON KILLING JOB: 
mpirun: killing job... 
-------------------------------------------------------------------------- 
    mpirun noticed that the job aborted, but has no info as to the process that caused 
    that situation. 
    -------------------------------------------------------------------------- 
    mpirun was unable to cleanly terminate the daemons on the nodes shown 
    below. Additional manual cleanup may be required - please refer to 
    the "orte-clean" tool for assistance. 
    -------------------------------------------------------------------------- 
    myocyte46 - daemon did not report back when launched 
    myocyte47 - daemon did not report back when launched 
    myocyte49 - daemon did not report back when launched 

ここでは私は4つのノード

************************** 

    if (my_rank != 0) 
    { 
    sprintf(message, "Greetings from the process %d!", my_rank); 
    dest = 0; 
    MPI_Send(message, strlen(message)+1, MPI_CHAR, dest, tag, MPI_COMM_WORLD); 
    } 
    else 
    { 
    for (source = 1;source < p; source++) 
    { 
    MPI_Recv(message, 100, MPI_CHAR, source, tag, MPI_COMM_WORLD, &status); 
    printf("%s\n", message); 
    } 

    **************************** 

私のホストファイルに実行しようとしているMPIプログラムです

[[email protected] ~]$ cat hostfile 
    myocyte46 
    myocyte47 
    myocyte48 
    myocyte49 
    ******************************* 

私は上記のMPIプログラムを各ノードで独立して実行し、それをcompi主導し、うまく走った。私はホストファイルを使用すると、 "の起動時にデーモンが報告しなかった"という問題があります。私は何が問題になるのか理解しようとしています。

ありがとうございます!問題が発生したいずれかのMPIデーモンを起動するか、後でそれらと通信している -

答えて

1

は、私はこれらの行が

myocyte46 - daemon did not report back when launched 

はかなりはっきりしていると思います。ですから、ネットワーキングを見る必要があります。これらのノードにパスワードなしでSSHできますか?あなたはsshを返せますか? MPIプログラムを脇に置いて、

mpirun -np 4 hostname 

何かを得ることができますか?

+0

ありがとうございました。はい、ノード間でsshを実行できました。管理者がファイアウォールを実行したままにしておき、それを無効にしているように見えます。また、私はいくつかのLinuxフォーラムで、彼らが追加を提案したことに気づいた。/etc/bashrcをbashrcプロファイルの最初の項目として使用します。 – Ashmohan

関連する問題