我需要并行运行冗长且计算密集的回测。我的回测平均需要运行 8 个小时,我需要运行 30 个。它们都使用不同的输入调用相同的函数。到目前为止,我能找到的是下面使用 foreach 包的代码。
require(foreach)
require(parallel)
require(doParallel)
cores = detectCores() #32
cl<-makeCluster(cores) #register cores
registerDoParallel(cl, cores = cores)
foreach (j=1:2) %dopar% {
if(j == 1)
{
get_backtestRUN(inputA)
}
if(j == 2)
{
get_backtestRUN(inputB)
}
}
我的第一个问题更笼统,我想知道上面的包是否是解决我的问题的最佳方法。
我的第二个问题与额外计算能力的使用有关,因为我只能在我的本地机器上并行运行 8 个回测,网上有很多选择,并且希望就最适合 R 的方式提出建议。
感谢您的帮助和时间,