Fortran mpi运行时错误

时间:2016-08-23 10:47:24

标签: fortran mpi

我试图理解使用MPI从Fortran代码编写并行数据。我从here找到了一个简单的程序。

我使用MPI编译器编译并运行程序并收到以下错误:

sathish@HP-EliteBook:~/Desktop$ mpif90 test.F90 -o test
sathish@HP-EliteBook:~/Desktop$ mpirun -np 4 test
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------

我在其他论坛中看到类似的问题,提到这是由于错误的mpi安装位置左右。以下是建议使用LD_PRELOAD

的解决方案之一
sathish@HP-EliteBook:~/Desktop$ mpirun -x LD_PRELOAD=libmpi.so -np 4 test
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code.. Per user-direction, the job has been aborted.
-------------------------------------------------------

问题仍然存在。我无法想象这个简单程序的问题是什么。

1 个答案:

答案 0 :(得分:4)

简短回答: 以

运行
mpirun -np 4 ./test

而不是:

mpirun -np 4 test

详细说明: 当您的工作目录不在您的路径中时,这是一个常见问题。简单的解决方案是添加可执行文件的完整路径。另一种方法可能是将当前目录添加到path变量中。但是,在这种情况下,即使将当前目录添加到路径中,顺序也很重要。 Linux系统(似乎是你的情况)通常带有一个名为test的程序,默认情况下通常位于path

发生的事情是你没有直接启动mpi程序,而是启动mpirun启动mpi机器,启动你的程序来利用这个机器。 mpirun必须找到您的计划。我在上面提到了两个选项:完整的可执行文件路径或将您的目录添加到搜索path