我正在尝试使用多个内核在大型数据集上运行我的R脚本。我尝试过并行,doMC,插入符之类的软件包。在大多数情况下,mutipleCore操作应基于循环。但是,我的脚本中没有循环,仍然可以在多个内核上运行吗?
这是我原始脚本的样子。一个核心就可以正常工作。
inFile = "filename" # A very BIG file
myFunction <- function(File){
...
igraph(data) # A few time-consuming functions, very SLOW.
spinglass(graph1)
...
}
myFunction(inFile)
这是我尝试使用多个内核的方法:
library(parallel)
library(doMC)
library(caret)
inFile = "filename"
myFunction <- function(File){
...
igraph()
...
}
mclapply(inFile, myFunction, mc.cores = 4)
在mclapply(x,func,..)
中,X应该是一个列表。在我的脚本中,我尝试使用inFile名称作为列表中的唯一元素。但是,它仅使用一个内核。
PS:我在终端而不是GUI中运行脚本。