#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