0

所以我有一个程序,它将一个数组划分为从机的相等数组。我基本上使用 MPI_Scatter 来做到这一点。我还有一个变量,它决定这些数组将发生什么过程。(如 <0 - Sum> <1 - Min> <2 - Avg> <3 - Max>)所以在我的主部分代码中,我必须从用户那里获取一个数字并将其发送给从属。但是在 scanf 程序只是挂起之后。我正在使用 vs 2015 和 MPIEXEC 包装器。

if (MASTER == rank) //MASTER
    {
        printf("Yapilacak islem(0: Sum, 1: Min, 2: Avg, 3: Max): ");
        fflush(stdout);
        scanf_s("%d", &opID);

        ...

        for (int to = 1; to < size; to++)
        {
            MPI_Send(&opID, 1, MPI_INT, to, tag, MPI_COMM_WORLD);
        }
    }


    else //SLAVES
    {
        MPI_Recv(&opID, 1, MPI_INT, MASTER, tag, MPI_COMM_WORLD, &status);
    }

所以在我输入一个数字后它不会继续。如下图。

MPIEXEC 包装器

4

0 回答 0