doMCとマルチコアに基づくR(netresponse)パッケージに並列計算オプションを追加しようとしています。スクリプトは正常に動作しますが、2回目の試行でのみ動作します。foreachパッケージ内関数:最初の呼び出しでは機能しません
バグを再現するには、Rを起動して以下のスクリプトを実行してください。最後の行にはまってしまいます。 ctrl-cで中断した後、「select:Interrupted system call」というメッセージが表示されます。次に、同じスクリプトを再度実行すると、問題なく期待どおりの結果が得られます。
初回実行時にこの作業を適切に行うには、さらに初期化が必要ですか?または他のヒント?ご支援のための
おかげで、 - L
require(netresponse)
require(multicore)
require(doMC)
registerDoMC(3)
print(getDoParWorkers())
res <- foreach(i = 1:100, .combine = cbind,
.packages = "netresponse") %dopar% netresponse::vdp.mixt(matrix(rnorm(1000), 100, 10))
右。しかし、これでは問題は解決しません。私はnetresponseのバージョン1.5.13を使用していますが、これは以下の依存関係を持ちますが、以前のバージョンでも同じ問題が発生します。以下のように依存関係を追加しました。require(c( "netresponse"、 "doMC"、 "multicore"、 "graph"、 "minet"、 "methods"、 "qvalue"、 "compiler") ); registerDoMC(3); ( "netresponse"、 "メソッド"、 "igraph"、 "グラフ"、 "minet"、 "qvalue"、 "compiler"、 "マルチコア "、" doMC "))%dopar%netresponse :: vdp.mixt(行列(rnorm(1000)、100,10)) – antagomir