0

BatchJobs を使用して最小限の例を実行していますが、結果は期待どおりではありません。debug=TRUE でglobal_config 設定を使用しています。HPC サーバーの R で次のコードを実行しています。

library(BatchJobs)
reg <- makeRegistry(id = "batchtest")

batchMap(reg, identity, 1)
submitJobs(reg)
showStatus(reg)

load("batchtest-files/jobs/01/1-result.RData")
1-result
[1] 0

batchMap(reg, identity, 2) を実行すると、結果は -1 になり、batchMap(reg, identity, 3) を実行すると、結果は -2 になります。なぜこれが起こっているのでしょうか?アイデンティティ関数は引数を返すだけです (したがって、上記のコードでは 1 である必要があります)。他の機能でも同じ問題が見つかりました。たとえば、batchMap に送信する関数に mean(rnorm(100, mean=100)) を使用すると、結果は -99 前後になります。これを複数のノードで実行すると、各ノードの結果は約 -100 + ノード番号になります (したがって、5 番目のノードの結果は約 -95 になります)。

4

1 に答える 1

0

を試してくださいls()。おそらく、loadコマンドからの正しい結果が変数に格納されますresult。計算1-resultすると、説明したとおりの結果が得られます。

于 2015-11-09T10:12:46.987 に答える