【问题标题】:How to setup and use MPI on Windows with R如何使用 R 在 Windows 上设置和使用 MPI
【发布时间】:2015-07-12 18:50:15
【问题描述】:

我从网上下载了一个 R 脚本,上面写着“必须在 MPI 环境中运行”。现在我对 MPI 几乎一无所知,只知道它用于并行计算,而且很难找到关于如何设置和使用它的简单教程。

谁能给我一个简单的分步指南,说明我应该安装什么来运行它、我应该如何做以及如何运行脚本?

提前致谢。

编辑,这是我尝试过的:

  • 我安装了Microsoft MPI
  • 我在 R 中安装并加载了 RMpi 包

具体问题:

> # number of available slots is passed via environment variable
> slots <- as.integer(Sys.getenv("NSLOTS"))

NA_integer_

如果我使用以下内容(即我用一些标量替换 Sys.getenv("NSLOTS"))

> slots <- as.integer(4)
> cl <- snow::makeMPIcluster(slots)

我得到了错误

mpi.comm.spawn 中的错误(slave = mpitask,slavearg = args,nslaves = count, : 其他 MPI 错误,错误堆栈: MPI_Comm_spawn(cmd="C:/PROGRA~1/R/R-31~1.0/bin/Rscript.exe", argv=0x0000000009A12CA8,maxprocs=4,MPI_INFO_NULL,root=0, MPI_COMM_SELF,对讲机=0x000000000A2FF8B0, errors=0x00000000100E3C70) failed 功能未实现

所以我怀疑我没有正确配置我的 MPI 环境。

【问题讨论】:

  • 您必须在系统上安装 MPI。您可以通过 R 包连接到它,包括“默认”parallel 包。请参阅小插图here
  • @RomanLuštrik 谢谢:)。该脚本确实使用了parallel,所以我在R中安装了那个包。我应该在我的系统上安装什么MPI包?那是开放 MPI 吗?我在网站上看到你只能下载一些tar.gz文件,我该如何安装?除了我需要做的事情之外,还有其他事情吗?再次感谢:)!
  • 你也可以试试微软 MPI。你的问题对这个地方来说太宽泛了,我投票决定关闭它。周围有很多 MPI 教程,所有 MPI 实现都附带手册和安装说明。
  • NSLOTS 是一个环境变量,由 Sun Grid Engine 设置为授予的插槽数。您没有在 SGE 下运行,因此环境变量不存在。 MS MPI 未实现 MPI-2.0 进程管理功能,因此出现错误消息。您应该搜索不同的 MPI 实现 - 不幸的是,我无法在这方面为您提供帮助,因为我自己不在 Windows 上使用 MPI。
  • MS MPI 不支持生成,这就是您收到错误的原因。如果您没有 spawn 支持,我相信您必须通过 mpiexec 执行 R 脚本。

标签: r mpi


【解决方案1】:

试试这几行,...

> require(parallel) 
> nCores <- 8  # manually for non-cluster machines
> cl <- makeCluster(nCores) # by default this uses the PSOCK mechanism as in the SNOW package

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-18
    • 2013-07-08
    • 1970-01-01
    • 2011-04-18
    相关资源
    最近更新 更多