BatchJobs 结果给出函数结果 * -1 + job#?

BatchJobs results gives the function result * -1 + job#?

我正在 运行使用 BatchJobs 做一个最小的例子,但结果并不像预期的那样。我正在使用 global_config settings,debug=TRUE。我在我的 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。 任何想法为什么会发生这种情况?身份函数应该只是 return 参数(所以上面的代码应该是 1)。我发现其他功能也有同样的问题。例如,如果我将 mean(rnorm(100, mean=100)) 用于我发送到 batchMap 的函数,我最终会得到大约 -99 的结果。如果我 运行 在多个节点上执行此操作,则每个节点的结果约为 -100 + 节点编号(因此第 5 个节点的结果约为 -95)。

试试 ls()load 命令的正确结果可能存储在变量 result 中。当您计算 1-result 时,您将得到与您描述的完全相同的结果。