2016-03-22 36 views
2

mpiの例を実行しようとすると、アクセス権が拒否されます。これは実行しようとしているコードです。mpiの例を実行しようとすると拒否されました

#include <stdio.h> 
#include <mpi.h> 


int main (int argc,char *argv[]) 
{ 
    int rank, size; 

    MPI_Init (&argc, &argv); /* starts MPI */ 
    MPI_Comm_rank (MPI_COMM_WORLD, &rank); /* get current process id */ 
    MPI_Comm_size (MPI_COMM_WORLD, &size); /* get number of processes */ 
    printf("Hello world from process %d of %d\n", rank, size); 
    MPI_Finalize(); 
    return 0; 
} 

共有フォルダー内のマスターVMに準拠しています。私もsshキーを生成し、それをすべてのスレーブVMにコピーしました。マスターVMを含むすべてのVMのすべてのIPアドレスを持つ「hosts」ファイルがあります。

は、私は、このコマンド

でコードを実行 `mpiexecの-fホストは4 hello_world

を-nしかし、私は道10.0.0.41マスターVMであることで

=================================================================================== 
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES 
= PID 2961 RUNNING AT 10.0.0.41 
= EXIT CODE: 255 
= CLEANING UP REMAINING PROCESSES 
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES 
=================================================================================== 
Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,password). 
Permission denied, please try again. 
Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,password). 
Permission denied, please try again. 
Permission denied (publickey,password). 

を取得します。

ありがとうございます。

+0

私が質問を投稿する前にいることを試してみました「のmpiexec -fホスト4 ./hello_worldを-N」。これは私がsudoを入手したものです:mpiexec:コマンドが見つかりません。 – user3312853

答えて

-1

私はそれを理解しました。 私はubuntuを使っていますが、デフォルトでsshを使ってrootにアクセスすることはできません。だから、私はすべてのVMでroot sshアクセスを許可してから、ssh鍵を生成して、それを通信中のすべてのVMにコピーする必要がありました。

詳細については、誰かが同じ問題に遭遇した場合に備えてください。

私はその後、

passwdの-uルート

vimのは、/ etc/ssh/sshd_config

編集passs単語を選択し、すべてのVM

passwdのルート

の手順を以下でした"パスワードなしのPermitRootLogin" >>>> "PermitRootLogin yes"にする

サービスのsshの再起動

今、あなたはすべての通信を行う2台のマシンに対して同じことを行うのssh-keygenは

を使用してSSHキーを生成し、リモート

@ sshのコピー-ID -iルートでそれをコピーすることができますあなたのクラスタで

私が言いたいことは、mpiコードを実行する際に間違いがあったことです。

私は 'mpiexec -f hosts -n 4 hello_world'を使用しました。実行可能ファイルの前に./を置いてください。だから、右のコマンドは でなければなりません

よろしく

+0

これは簡単な方法です。 MPIはrootとして実行されません。 – chapelo

関連する問題