2015-05-03 51 views
4

我已经从网上下载了一个R脚本,表明它“必须在MPI环境下运行”。现在我对MPI几乎一无所知,除了它用于并行计算之外,很难找到一个关于如何设置和使用它的简单教程。如何在Windows上使用R安装和使用MPI

有人可以给我一个简单,一步一步指导我应该安装什么来运行这个,我应该怎么做,以及如何运行脚本?

在此先感谢。

编辑,这里是我的尝试:

具体问题:

> # 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,intercomm = 0x0 00000000A2FF8B0, 错误= 0x00000000100E3C70)失败没有实现

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

+0

你必须有你的系统上安装MPI。您可以通过R软件包连接到它,包括“默认”的'parallel'软件包。参见小插曲[这里](https://stat.ethz.ch/R-manual/R-devel/library/parallel/doc/parallel.pdf)。 –

+0

@RomanLuštrik谢谢你:)。脚本确实使用了'parallel',所以我在R中安装了这个包。我应该在我的系统上正确安装哪些MPI包?那是Open MPI吗?我在网站上看到,你只能下载一些'tar.gz'文件,我该如何安装?除了我需要做的还有其他事情吗?再次感谢 :)! – dreamer

+0

是的,OpenMPI是您可以使用的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 
相关问题