R包runjags的run.jags函数并行核心占用量及自定义配置问题
run.jags并行核心数配置说明
默认核心调用规则
当你使用run.jags的并行运行模式时,默认调用的核心数和你设置的MCMC链数(n.chains参数)保持一致,同时不会超出你设备的可用物理核心上限。
以你的4核CPU设备为例:
- 如果你设置了4条MCMC链,默认就会调用全部4核并行运行
- 如果你设置了2条MCMC链,默认只会调用2核
- 未开启并行模式时,默认仅使用1核运行
自定义核心数的方法
你完全可以自行指定调用的核心数量,只需在调用run.jags()时同时配置method和n.cores两个参数即可:
- 强制使用全部4核:传入参数
method = "parallel", n.cores = 4,建议同时将n.chains设为4,避免单核心运行多条链产生额外开销 - 仅使用2核:传入参数
method = "parallel", n.cores = 2 - 仅使用3核:传入参数
method = "parallel", n.cores = 3
注意:指定的核心数不要超过设备的物理核心总数,否则会因为核心资源争抢、调度开销增大反而降低运行效率
内容的提问来源于stack exchange,提问作者JasonYeung
相关产品推荐
相关产品推荐

