MPI внезапно перестал работать на нескольких ядрах - PullRequest
1 голос
/ 22 февраля 2020

Этот фрагмент кода раньше работал нормально с mpi

#include <mpi.h>
#include <iostream>

using namespace std;

int id, p;

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

    MPI_Comm_rank(MPI_COMM_WORLD, &id);
    MPI_Comm_size(MPI_COMM_WORLD, &p);

    cout << "Processor " << id << " of " << p << endl;
    cout.flush();

    MPI_Barrier(MPI_COMM_WORLD);
    if (id == 0) cout << "Every process has got to this point now!" << endl;

    MPI_Finalize();
}

Предоставление вывода:

Processor 0 of 4
Processor 1 of 4
Processor 2 of 4
Processor 3 of 4
Every process has got to this point now!

При запуске на 4 ядрах с командой mpiexec -n 4 ${executable filename}$

Я перезапустил свой ноутбук (я не уверен, что это причина) и запустил тот же код, и он выводит на одном ядре:

Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!
Processor 0 of 1
Every process has got to this point now!

Я использую Microsoft MPI и конфигурации проекта не изменились Я не совсем уверен, что с этим делать. Я также установил Intel Parallels Studio и интегрировал его с Visual Studio перед перезапуском. Но я все еще компилирую с Visual C ++ (те же конфигурации, что и когда он работал нормально)

1 Ответ

0 голосов
/ 22 февраля 2020

Легким решением было удалить intel параллельную студию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...