gpt4 book ai didi

r - 如何设置循环,以使PC中的一个核心执行一半的工作,而另一半在R中执行

转载 作者:行者123 更新时间:2023-12-03 11:11:40 25 4
gpt4 key购买 nike

我有R脚本,它模拟了ARIMA数据并为ARIMA order ARIMA(p, d, q)检查了100次相同的数据。我在系统CPU上有2个内核,如何为一个内核提供R命令以计算1 to 50,而第二个内核同时计算51 to 100,然后将结果组合在一起。

library(forecast)
system.time({
for (i in 1:100) {
a <- arima.sim(n = 50, model=list(ar = 0.8), sd = 1)
b <- arimaorder(auto.arima(b, ic = "aicc"))
#print(b)
}
我正在使用Windows 10 64位

最佳答案

我使用foreachdoParallel库将循环分成许多部分。
我认为处理对于计算机决定如何在可用内核之间划分循环更好。

#…
library(parallel)
library(foreach)
library(doParallel)

#detectCores() ### Count number of cores available
numCores <- 2
registerDoParallel(numCores)

#for (i in 1:100) { ### Original For loop
foreach(i = 1:100) %dopar% { ### Replacement parallel foreach loop
#…
}
#…

关于r - 如何设置循环,以使PC中的一个核心执行一半的工作,而另一半在R中执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63732042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com