2011-09-15 12 views
6

次は、私はコアi7のCPUの(クワッドコア)の上に、それを実行する、MPIでの私のコードですが、問題は、それが4MPIプロセッサ数?

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

    MPI_Init(&argc, &argv); 

    MPI_Comm_rank(MPI_COMM_WORLD, &rank); 
    MPI_Comm_size(MPI_COMM_WORLD, &size); 

    printf("Hello world! I am %d of %d\n", rank, size); 

    MPI_Finalize(); 

    return 0; 
} 
なければならない1つのプロセッサCPU、下で実行されているということを私に示してあります

問題がMPIライブラリかsth elseかどうか疑問に思っていましたか?ここで

それは私を示した結果は次のとおりです。

Hello world! I am 0 of 1 

追加情報: Windows 7の - のx64

+0

どのようにプログラムを実行していますか? –

+1

コードの実行方法を追加したいと思うかもしれません - 通常、MPI実行ファイルは4つのプロセッサで実行するために 'mpirun -np 4 mympiexecutable'のようなコマンドを使って実行する必要がありますが、 Windows MPIのバージョンを知っている。 – Aesin

答えて

9

プリマあなたが直接プログラムを実行しているように見えますfacie。 mpiexec -n 2または-n 4を試しましたか?

+0

はい、私はそれをやって、それは正常に動作しますが、たとえば、あなたはデュアルコアCPUを持っている場合は、2の結果を得ると言った本の例をコピーしました。 ここで私は4コアCPUを持っているので、結果は4になるはずです。 – Gabriel

+0

mpiラッパーを明示的に使用せずに実行すると、単一のコアとみなして実行されます。 –

+0

もっと説明できますか?どうやって? – Gabriel

関連する問題