【问题标题】:auto.arima not parallelizingauto.arima 没有并行化
【发布时间】:2013-08-13 22:06:51
【问题描述】:

我试图通过在具有 4 个双核 CPU(我使用的是 Ubuntu 13.04 和 R 2.15.2)的计算机上运行慢速 auto.arima 函数来加速它。该函数正在拟合具有 350,000 个数据点和大约 50 个外生变量的时间序列。我正在使用下面的代码

fit<-auto.arima(orders,xreg=exogen, stepwise=FALSE, parallel=TRUE, num.cores=4)

但是,我有多个 CPU(每个都有多个内核),而不仅仅是一个具有多个内核的 CPU。如果 R 足够聪明,可以绕过这种内核/CPU 差异,我查看了我的资源监视器并看到了这个:

这表明只有 CPU3 被最大化。

关于如何解决的任何想法? forecast 包可以与 DoSNOW 一起使用吗?

【问题讨论】:

  • 您使用的是哪个包?您的并行环境很可能有问题,因为如果某些东西不起作用,大多数并行实现会在一个内核上运行代码。 mclapply 切换到 lapply。作为一种解决方法,您可以尝试(使用parallel 包)mclapply(order, auto.arima, xreg=exogen, stepwise=FALSE, parallel=FALSE, mc.cores=2)

标签: r forecasting


【解决方案1】:

试试num.cores=8num.cores=7,用system.time()看看哪个跑得更快。如果我没记错的话,R 将 1 个核心视为一个 CPU。如果我理解正确的话,您有 8 个内核:“4 个双核 CPU”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2020-09-10
    • 2022-01-06
    相关资源
    最近更新 更多