Ошибка MPI_Init во FreeBSD 13

#c #mpi #freebsd #mpich

Вопрос:

Я использую FreeBSD 13 и пытаюсь скомпилировать (успешно) и запустить (безуспешно) простую минимальную программу MPI

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

int main(int argc, char **argv) {
    int res;

    res = MPI_Init(amp;argc, amp;argv);
    if (res != MPI_SUCCESS)
    {
        fprintf (stderr, "MPI_Init failed!n");
        exit (0);
    }

    res = MPI_Finalize();
    if (res != MPI_SUCCESS)
    {
        fprintf (stderr, "MPI_Finalize failed!n");
        exit (0);
    }
}
 

Я использую mpich-3.4.2_2 библиотеку MPI, скомпилирую вышеизложенное с mpicc example_mpi.c помощью , а затем запускаю с mpirun -np 2 ./a.out помощью .

Компилятор является

FreeBSD clang версии 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe) Цель: x86_64-неизвестно-freebsd13.0 Модель потока: posix InstalledDir: /usr/bin

Я получаю странную ошибку инициализации MPI

Прерывание(268484367) на узле 0 (ранг 0 в связи 0): Фатальная ошибка в PMPI_Init: Другая ошибка MPI, стек ошибок: MPIR_Init_thread(153): ошибка gpu_init [не задано]: ошибка строки записи; fd=-1 buf=:cmd=прервать код выхода=268484367 : системный msg для сбоя строки записи : Не удался файловый дескриптор MPI_Init!

Есть идеи, что происходит? Я побежал под root и с той же проблемой.

Комментарии:

1. Похоже, он пытается запустить графический процессор gpu_init failed . У вас есть графический процессор? Была ли библиотека MPI скомпилирована с поддержкой GPU?

2. @DavidHenty У меня есть графический процессор, хотя я не компилировал библиотеку MPI, я просто установил ее с pkg install mpich помощью .

Ответ №1:

Похоже, это была ошибка, я только что увидел, что ее исправили люди из FreeBSD.

Видишь https://cgit.freebsd.org/ports/commit/?id=fd490a171c3da0d7bcb9a5f3ee3b4b46075dfa9e