doParallel's vignetteに続いて、doParallel::registerDoParallel()
を使用し、options(cores = N)
を使用します。N
は、foreach
で使用するコアの数です。パッケージのオプション "コア" doParallelはWindowsでは役に立たない?
cores
オプションを変更すると、foreach
によって使用されるコアの数が自動的に変更されることをforeach::getDoParWorkers()
で確認できます。
しかし、Windowsの10(Rおよびパッケージの最新バージョン)には、このオプションは(doParallel::registerDoParallel()
を呼び出すとき3
で初期化されます)foreach::getDoParWorkers()
の値を変更しません、その値の変更などの任意の効果を持っていないようです。
再現例:
doParallel::registerDoParallel()
options(cores = 1)
foreach::getDoParWorkers()
options(cores = 2)
foreach::getDoParWorkers()
options(cores = 4)
foreach::getDoParWorkers()
が、それはバグですか? Windowsでは動作しませんか?
編集:私は並列バックエンドを別々に登録する方法を知っています。目標はdoParallel::registerDoParallel()
(パッケージのロード時に)一度登録してから、使用するコアの数を変更するオプションを使用することです。これがWindows上でも動作するようにする理由です。
申し訳ありませんが、これは私の質問には答えません。明確にするために私の編集をご覧ください。 –