gpt4 book ai didi

r - 新安装 doMPI 抛出 MPI_ERR_SPAWN 错误

转载 作者:行者123 更新时间:2023-12-03 19:59:50 24 4
gpt4 key购买 nike

我更新了 open-mpi到 3.0.0,重新加载 RmpidoMPI ,现在在执行 startCluster 时出现此错误在 Ubuntu Linux,R 3.4.2 上。

Error in mpi.comm.spawn(slave = rscript, slavearg = args, nslaves = count,  : 
MPI_ERR_SPAWN: could not spawn processes

如何诊断问题?

最佳答案

要测试您的 MPI 安装,请执行以下操作:

/* Put this text inside hello.c file */
#include <mpi.h>
#include <stdio.h>

int main(int argc, char** argv) {
int rank;
int world;

MPI_Init(NULL, NULL);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &world);
printf("Hello: rank %d, world: %d\n",rank, world);
MPI_Finalize();
}

然后编译
mpicc -o hello ./hello.c

然后,尝试运行它
mpirun -np 2 ./hello

如果你得到
Hello: rank 0, world: 2
Hello: rank 1, world: 2

这意味着您的 MPI 安装没问题,您必须查看 R 内部,否则意味着 MPI 配置不正确,并且没有进一步改进的机会。

更新

它看起来像 R3.4 + OpenMPI 3.0.0 + Rmpi​​ 错误行为 ;)

如果您尝试在 R 之外运行 slaves,它会起作用。所以,我猜 Rmpi​​ 的 native 代码内部存在一些问题。
> cp -r /Library/Frameworks/R.framework/Versions/3.4/Resources/library/Rmpi ~
> cd ~/Rmpi
> mpirun -np 2 ./Rslaves.sh `pwd`/slavedaemon.R tmp needlog /Library/Frameworks/R.framework/Versions/3.4/Resources/
# if you put
# localhost slots=25
# inside ~/.hostfile, you can acquire more resources
> mpirun --hostfile=~/.hostfile -np 4 ./Rslaves.sh `pwd`/slavedaemon.R tmp needlog /Library/Frameworks/R.framework/Versions/3.4/Resources/

更新并正确修复 R 3.4 和 OpenMPI 3.0.0

创建文件: ~/.openmpi/mca-params.conf然后放在里面
orte_default_hostfile=YOUR_USER_HOME/default_host

创建文件: ~/default_host有内容
localhost slots=25

运行 R,加载 RMpi 并运行代码
> library(Rmpi)
> mpi.spawn.Rslaves()
4 slaves are spawned successfully. 0 failed.
master (rank 0, comm 1) of size 5 is running on: pi
slave1 (rank 1, comm 1) of size 5 is running on: pi
slave2 (rank 2, comm 1) of size 5 is running on: pi
slave3 (rank 3, comm 1) of size 5 is running on: pi
slave4 (rank 4, comm 1) of size 5 is running on: pi

完整故事,请看这里: R3.4 + OpenMPI 3.0.0 + Rmpi inside macOS - little bit of mess ;)

关于r - 新安装 doMPI 抛出 MPI_ERR_SPAWN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46541301/

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