[问题] snow 平行运算

楼主: b10009047 (Nicklee)   2016-01-29 18:05:43
[问题叙述]:
大家好,最近接触到'snow'这个用于平行运算的package后觉得十分有趣,刚好目前在做
的事情十分需要加快计算速度,因此尝试使用parRapply, parSapply这些function
突然发现,若是我在parRapply当中在包一个apply,或是parRapply function都会产生
问题,例如 :
library(snow)
library(Rmpi)
data <- matrix(1:6, ncol = 2)
target <- 11:16
cl <- makeCluster(2, type = 'MPI')
parRapply(cl = cl, data, function(x) {
x <- t(as.matrix(x))
parRapply(cl = cl, x, function(x){
target[x]
})
})
stopCluster(cl)
会回报错误讯息:
Error in checkForRemoteErrors(val) :
2 nodes produced errors; first error: 找不到物件 'cl'
唯一能想像的到的可能为,cl可能是在某个cpu下被定义的,但其他cpu并不知道cl的定义
因此产生以下错误讯息,此外也想不到其他可能的原因,想请教是否有人有碰过相同的
问题呢?
谢谢各位!
[软件熟悉度]:
使用者(对R的基本使用还算熟悉)
作者: celestialgod (天)   2016-01-29 18:14:00
你现在function里面已经是在各个计算节点了你计算节点中并没有命名cl给他,他当然抓不到改一下标题,方便后面的人搜寻function里面请直接用正常的apply就好

Links booklink

Contact Us: admin [ a t ] ucptt.com