Je tente d'accélérer une fonction lente auto.arima
en l'exécutant sur un ordinateur avec 4 processeurs dual-core (j'utilise Ubuntu 13.04 et R 2.15.2). La fonction adapte une série temporelle avec 350 000 points de données et environ 50 variables exogènes. J'utilise le code ci-dessousauto.arima non paralléliser
fit<-auto.arima(orders,xreg=exogen, stepwise=FALSE, parallel=TRUE, num.cores=4)
Cependant, je dispose de plusieurs processeurs (chacun avec plusieurs cœurs), pas seulement un CPU avec plusieurs cœurs. Dans le cas où R a été assez intelligent pour contourner cette différenciation des noyaux/processeurs, je pris un coup d'œil à mon moniteur de ressources et vu ceci:
qui montre que seulement CPU3 est maximisé.
Des idées sur la façon de résoudre? Est-ce que le package forecast
fonctionne avec DoSNOW
?
Quel paquet utilisez-vous? Très probablement, il y a un problème avec votre environnement parallèle, car la plupart des implémentations parallèles exécutent le code sur un noyau si quelque chose ne fonctionne pas, par exemple. mclapply passer à lapply. Pour contourner ce problème, vous pouvez essayer (en utilisant le paquetage 'parallel') ' mclapply (ordre, auto.arima, xreg = exogen, pas à pas = FALSE, parallel = FALSE, mc.cores = 2) ' – holzben