4

MPI初心者です。Mac_OSX Mountain Lion を実行している Macbook で、最も単純な MPI "hello world" コードを実行しようとしています。プロセッサは 1 つしかありませんが、4 つのコアがあります。C++コードは次のようになります

#include <iostream>
#include "mpi.h"
using namespace std;

int main(int argc, char* argv[])
{
    int rank, size;
    MPI::Init();
    rank = MPI::COMM_WORLD.Get_rank();
    size = MPI::COMM_WORLD.Get_size();
    std::cout << "Hello, world!  I am " << rank << " of " << size << std::endl;
    cout << "size is " << size << endl;
    cout << "rank is " << rank << endl;
    MPI::Finalize();
    return 0;
}

次に、コードをコンパイルして実行します

$ mpic++ -o bb code2.cpp
$ mpirun -np 2 bb

「アプリケーション "bb" が着信ネットワーク接続を受け入れますか?」という警告を示す 2 つのダイアログ ボックスが即座に表示されます。ダイアログ ボックスが表示されたり消えたりして、コードが正常に実行されます。

Hello, world!  I am 0 of 2
size is 2
rank is 0
Hello, world!  I am 1 of 2
size is 2
rank is 1

クラスターまたは CPU のグループで実行する場合、MPI はネットワーク接続を使用すると思います。しかし、ファイアウォールのダイアログ ボックスが何度も表示されたり消えたりするのは面倒です。ファイアウォールを無効にしたり、特定の実行可能ファイルの着信接続を許可したりできますが、そうしたくありません。単一のコンピューターで MPI を実行しているため、ネットワーク接続を使用しないように MPI に指示する方法はありますか? ありがとう。

4

2 に答える 2

-1

これを試して:

[設定] -> [セキュリティとプライバシー] -> [ファイアウォール] に移動します

アンロック(左下から)

ファイアウォール オプションに移動し、[ステルス モードを有効にする] ボタンのチェックを外します</p>

私のために働いた!;)

于 2016-01-28T17:42:10.413 に答える