在多核上使用doSNOW包访问/写入全局变量时是否存在问题?使用doSNOW写入全局变量并在R中进行并行化?
在下面的程序,每个MyCalculations(II)的写入矩阵“全局变量”的第II个列...
你认为结果会是正确的吗?会有隐藏的渔获物吗?
非常感谢!
p.s.我必须写出全局变量,因为这是一个简单的例子,事实上,我有许多输出需要从并行循环内传输......因此,可能唯一的办法就是写出全局变量。 ..
library(doSNOW)
MaxSearchSpace=44*5
globalVariable=matrix(0, 10000, MaxSearchSpace)
cl<-makeCluster(7)
registerDoSNOW(cl)
foreach (ii = 2:nMaxSearchSpace, .combine=cbind, .verbose=F) %dopar%
{
MyCalculations(ii)
}
stopCluster(cl)
ps我要求 - 在DoSnow框架内,在那里访问/写入全局变量... THX
您可以考虑使用[doRedis(https://github.com/bwlewis/doRedis),这将处理您的问题与需要访问全局变量。 – daroczig 2012-02-23 10:16:39