【发布时间】:2017-11-18 07:20:05
【问题描述】:
我编译了下一段代码:
#include <mpi.h>
#include <stdio.h>
int main(int argc, char* argv[]) {
int rank, size, len;
char host[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Finalize();
return 0;
}
我是这样做的:
mpic++ -o test test.cpp
然后我尝试运行该文件:
mpirun -np 2 test
但是发生了错误:
PMIx 检测到一个临时目录名称,导致 在对 Unix 域套接字来说太长的路径中:
临时目录:/var/folders/12/k2b2579s1yz2cfl8ppb1c6m80000gn/T/openmpi-sessions-501@MacBook-Air-Alexander-2_0/22793
尝试将您的 TMPDIR 环境变量设置为指向 长度更短的东西
所以我这样做了:
export TMPDIR=/tmp
再次尝试运行:mpirun -np 2 test
但是又出现了一个错误:
主作业正常终止,但有 1 个进程返回
非零退出代码根据用户方向,作业已中止
----------------------------------------------- --------
mpirun 检测到一个或多个进程以非零状态退出,从而导致 要终止的工作。这样做的第一个过程是:
进程名称:[[22798,1],0]
退出代码:1
请告诉我,我应该怎么做才能运行这段代码?
【问题讨论】:
-
您的 MPI 安装已损坏。你是怎么安装的?你用什么版本?另请参阅stackoverflow.com/questions/31330511/… 另请阅读How to Ask - 您的问题标题应该改进。
-
@Zulan:我已经通过 brew install open-mpi 安装了 open-mpi。我当前的版本 打开 MPI v2.1.1。