Как я могу объявить MPI_COMM_WORLD, чтобы я мог использовать его везде? - PullRequest
0 голосов
/ 25 марта 2012

Вы можете заметить, что код создается в MPI_COMM_WORLD, но используется в функции send_code!

мои коды:

int send_code(char *code)
{
        //produce the codes for adding the code into the table
        printf("%s\n",code);
        MPI_Send(code, 8, MPI_CHAR,0, 0,MPI_COMM_WORLD);
}

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

        MPI_Status status;
        int outbuf, inbuf;

        MPI_Init(&argc, &argv);
        MPI_Comm_size(MPI_COMM_WORLD, &size);
        MPI_Comm_rank(MPI_COMM_WORLD, &rank);
        if (rank==0)
        {
               MPI_Recv(code, 8, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &status);
               printf("%s by master\n",code);

        }
        else
        {
                ........
        }

        MPI_Finalize();
}

Ответы [ 2 ]

3 голосов
/ 25 марта 2012

Если вы спрашиваете о MPI_COMM_WORLD в MPI, он объявляется в mpi.h и определяется где-то в одной из библиотек реализации MPI.

0 голосов
/ 25 марта 2012

Статическая глобальная переменная?Если это достаточно безопасно для вас, и вы готовы нести риски; -)

...