RでdoMCを使ったお手軽並列計算から、doMCの使い方。
Mac、Linux、Windowsで並列計算用Rパッケージが使える、使えない、があるらしい。とりあえず今はMacを使っているのでそこらへんの検証は後回し。
install.packages("doMC") library(doMC) #計算コア数ベクトル生成(コア数: 1,2,4,6,8) n_core <- c(1, seq(2, 8, by=2)) #正規乱数発生数を設定 N <- 10^5 #計算時間の結果を突っ込む空マトリックスの作成 result.mat <- matrix(0, length(n_core), 3) for(i in 1:length(n_core)){ registerDoMC(n_core[i]) result <- system.time(foreach(i = 1:1000, .combine = "cbind") %dopar% { sum(rnorm(N)) }) core.d <- c(n_core[i], result[3]) names(core.d) <- c("Cores", "ProcTime") print(core.d) result.mat[i, ] <- as.numeric(result)[1:3] } result.mat Cores ProcTime 1.000 16.797 Cores ProcTime 2.000 23.233 Cores ProcTime 4.000 30.411 Cores ProcTime 6.000 13.507 Cores ProcTime 8.000 13.435
むしろ時間がかかっているが…これも保留。