0

この例をコンパイルして実行すると、私の cpu は intel i3 m350 です。

#include < mpi.h>   /* PROVIDES THE BASIC MPI DEFINITION AND TYPES */
#include  < stdio.h>
int main(int argc, char **argv)
{
    int my_rank; 
    int size;
    MPI_Init(&argc, &argv); /*START MPI */

    /*DETERMINE RANK OF THIS PROCESSOR*/
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); 

    /*DETERMINE TOTAL NUMBER OF PROCESSORS*/
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    MPICH_NAME;

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

    MPI_Finalize();  /* EXIT MPI */
    getchar();

}

出力は次のとおりです。

             Hello world! I'm rank0  of size 1

つまり、4 つのコアが検出されないということです。何が問題なのですか?

4

1 に答える 1

4

でプログラムを開始する必要がありますmpirun。MPI が使用するプロセスの数mpirunを指定できます。あなたの場合、これは次のようになります

~# mpirun -n 4 ./your-program

また、Open MPI FAQ も参照してください(Open MPI を使用していると仮定します)。

于 2013-09-22T09:19:17.220 に答える