Тестовая программа MPI застревает в бесконечном цикле - PullRequest
3 голосов
/ 30 октября 2019

Библиотека PETSc запускает некоторые тестовые программы во время настройки при проверке среды. Одной из таких тестовых программ является следующая программа (уменьшенная на два относительных заголовка):

#include <stdlib.h>
#include <mpi.h>

int main() {
    int size;
    int ierr;
    MPI_Init(0,0);
    ierr = MPI_Type_size(MPI_LONG_DOUBLE, &size);
    if(ierr || (size == 0)) exit(1);
    MPI_Finalize();
    ;
    return 0;
}

Конфигурация не выполнена из-за тайм-аута. При отладке программы она застревает в строке MPI_Init(0, 0);, хотя эта строка должна быть совершенно законной. Я использую OpenMPI 2 с G ++ 9.2.1, работающий на OpenSUSE TW.
Программа скомпилирована с использованием

mpicxx -O0 -g mpi_test.cpp -o mpi_test
...