[問題] 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