第一次发帖。我是 MPI 的新手,正在尝试设置一个小型的 RaspberryPi 4 集群。我尝试运行“Hello World!”下面的程序在主节点上无济于事。
#include <stdio.h>
#include <mpi.h>
int main(int argc, char** argv) {
fprintf(stderr,"Starting...\n");
MPI_Init(&argc, &argv);
printf("Hi World!\n");
MPI_Finalize();
return 0;
}
我在执行 MPI_Init 时收到右下方的分段错误。我试过只在 MPI_Init(NULL,NULL) 中使用 NULL 并传递/不传递程序参数。
pi@raspberrypi:~ $ mpiexec -n 4 -f hostfile ./h
Starting...
Starting...
Starting...
Starting...
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 3080 RUNNING AT 192.168.200.210
= EXIT CODE: 11
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions
这是一个全新的 RaspberryPi 操作系统,它运行了 apt-get update/upgrade 并且只安装了 MPICH
sudo apt-get install MPICH
这个问题与下面发布的问题几乎相同,但我认为它没有解决问题,只是安装了不同的软件(mpi-default-dev [OpenMPI?] 而不是 MPICH)。
MPI_Init() crashes instantly on Raspberry Pi 4
那么为什么 MPICH 不起作用呢?那里有大量的 Pi 集群操作方法,我看到的前十个只是运行 sudo apt-get install MPICH
并使用它运行。
先谢谢大家的支持!