作者b10009047 (Nicklee)
看板R_Language
标题[问题] 关於平行运算
时间Fri Jan 29 18:05:43 2016
[问题叙述]:
大家好,最近接触到'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的基本使用还算熟悉)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 106.1.227.106
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1454061945.A.ADB.html
1F:→ celestialgod: 你现在function里面已经是在各个计算节点了 01/29 18:14
2F:→ celestialgod: 你计算节点中并没有命名cl给他,他当然抓不到 01/29 18:14
3F:→ celestialgod: 改一下标题,方便後面的人搜寻 01/29 18:18
4F:→ celestialgod: function里面请直接用正常的apply就好 01/29 18:19