【问题标题】:BatchJobs results gives the function result * -1 + job#?BatchJobs results 给出函数 result * -1 + job#?
【发布时间】:2015-11-07 21:58:09
【问题描述】:

我正在运行一个使用 BatchJobs 的最小示例,结果与预期不符。我正在使用global_config settings,调试=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。 任何想法为什么会发生这种情况?标识函数应该只返回参数(因此对于上面的代码,它应该是 1)。我发现其他功能也有同样的问题。例如,如果我将 mean(rnorm(100, mean=100)) 用于发送到 batchMap 的函数,我最终会得到大约 -99 的结果。如果我在多个节点上运行它,每个节点的结果大约是 -100 + 节点数(所以第 5 个节点的结果大约是 -95)。

【问题讨论】:

    标签: r parallel-processing hpc lsf


    【解决方案1】:

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

    【讨论】:

    • 哦,就是这样!我在想象变量名将与文件名相同,尽管在 R 中的变量名中当然不能有 - 。我想我已经盯着这个太久了。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    相关资源
    最近更新 更多