並列計算中に複数の印刷関数がある場合、最後のオンのみがコンソールに表示されることがわかりました。そのため、outfile オプションを設定し、すべての印刷結果を取得できることを願っています。Rコードは次のとおりです。
cl <- makeCluster(3, type = "SOCK",outfile="log.txt")
abc <<- 123
clusterExport(cl,"abc")
clusterApplyLB(cl, 1:6,
function(y){
print(paste("before:",abc));
abc<<-y;
print(paste("after:",abc));
}
)
stopCluster(cl)
しかし、次の 3 つのレコードしか取得できません。
starting worker for localhost:11888
Type: EXEC
Type: EXEC
[1] "index: 3"
[1] "before: 123"
[1] "after: 2"
Type: EXEC
[1] "index: 6"
[1] "before: 2"
[1] "after: 6"
Type: DONE