gpt4 book ai didi

c++ - mpirun 不工作并要求将 TMPDIR 变量更改为/tmp

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:50:48 26 4
gpt4 key购买 nike

我编译了下一段代码:

#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 是正确的。

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

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

中没有的名称

关于c++ - mpirun 不工作并要求将 TMPDIR 变量更改为/tmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44573568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com