Re: [問題] for 迴圈的平行運算
snow跟parallel要你自己弄cluster去跑
snowfall提供相對簡單的環境,可以嘗試一下
library(snowfall)
library(parallel)
inputs <- 1:256
wn = seq(0.25,1,0.05)
wn1 = seq(0.3,1,0.05)
processInput <- function(v) {
sum(v)
}
inputs <- as.matrix(expand.grid(wn,wn1))
numCores <- detectCores()
sfInit(TRUE, numCores)
# sfExport("variableName") # you may need this
# shLibrary("packageName") # you may need this
sfApply(inputs,1, processInput)
sfStop()
※ 引述《tony255034 (5245566)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 新手(沒寫過程式,R 是我的第一次)
: [問題敘述]:
: 目前有一個數學模型,每次要跑20秒,懲罰係數大約為16*16種組合
: 想利用版上所說的RMPI來優化程式,但我是用雙for迴圈來代入懲罰係數的
: 目前是想平行運算各組合,將各組合結果儲存到一個陣列,
: 再去找出最小的AIC
: [程式範例]:
: wn = seq(0.25,1,0.05)
: wn1 = seq(0.25,1,0.05)
: AIC0 = 10^6
: for(i in 1:length(wn)){
: for(j in 1:length(wn1)){
: list[AIC,BIC] = Model(wn[i],wn1[j]);
: if(AIC < AIC0){
: finalAIC = AIC
: finalBIC = BIC
: }
: }
: }
: [環境敘述]:
: Win7 32bit R3.2.2
: [關鍵字]:
: Parallel Computing、RMPI
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.73.190
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1445476229.A.C5A.html
推
10/22 19:58, , 1F
10/22 19:58, 1F
→
10/22 19:59, , 2F
10/22 19:59, 2F
sfExport 我特意留在上面的XDD
推
10/22 23:31, , 3F
10/22 23:31, 3F
推
10/24 00:05, , 4F
10/24 00:05, 4F
→
10/24 00:06, , 5F
10/24 00:06, 5F
→
10/24 00:08, , 6F
10/24 00:08, 6F
平行本來就不會縮短非常多 還要考慮到記憶體複製的問題
建議你把程式po上來看,怎樣改進比較快
※ 編輯: celestialgod (180.218.154.163), 10/24/2015 12:06:58
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章