[問題] snow 平行運算

看板R_Language作者 (Nicklee)時間9年前 (2016/01/29 18:05), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
[問題敘述]: 大家好,最近接觸到'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://www.ptt.cc/bbs/R_Language/M.1454061945.A.ADB.html

01/29 18:14, , 1F
你現在function裡面已經是在各個計算節點了
01/29 18:14, 1F

01/29 18:14, , 2F
你計算節點中並沒有命名cl給他,他當然抓不到
01/29 18:14, 2F

01/29 18:18, , 3F
改一下標題,方便後面的人搜尋
01/29 18:18, 3F

01/29 18:19, , 4F
function裡面請直接用正常的apply就好
01/29 18:19, 4F
文章代碼(AID): #1MgpbvhR (R_Language)
文章代碼(AID): #1MgpbvhR (R_Language)