Я не могу продолжить после Scanf в MPICH2

Итак, у меня есть программа, которая делит массив на равные массивы для подчиненных машин. Я в основном использую MPI_Scatter, чтобы сделать это. У меня также есть переменная, которая решает, какой процесс будет происходить с этими массивами. (например, <0 - Sum> <1 - Min> <2 - Avg> <3 - Max>) Так что в моем коде в мастер-секции мне нужно взять число от пользователя и отправить его рабам. Но после scanf программа просто зависает. Я использую против 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 обертка

0 ответов

Другие вопросы по тегам