繁体   English   中英

mpirun不起作用并要求将TMPDIR变量更改为/ tmp

[英]mpirun doesnt work and ask to change TMPDIR variable to /tmp

我编译了下一个代码:

#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

请告诉我,我该怎么做才能运行这段代码?

已经报告了初始错误,这被视为一项功能。 使用短路的TMPDIR是正确的。

您可能想尝试在openmpi-mca-params.conf添加orte_tmpdir_base = /tmp ,看看它是否修复了您的问题(因此您不必在每个终端中设置TMPDIR

关于第二个问题,你很可能运行/usr/bin/test而不是你的测试程序,所以你可以简单地mpirun -np 2 ./test或将你的测试程序重命名为不在你的PATH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM