我运行(k)Ubuntu 12.04.2和R 3.0.1R不再运行并行
我写了一堆用于并行运行的代码,但现在不再运行了。甚至没有这个并行运行:
library(doMC)
registerDoMC(4)
Results = foreach (i = 1:1e6, .combine = "c") %dopar% {
sqrt(i)
}
而且绝对应该。我认为破坏它是R 3.0.1更新或我安装的-dev, -devel
BLAS软件包。 (openBLAS我认为)
我试过system(sprintf("taskset -p 0xffffffff %d", Sys.getpid()))
其他地方的建议,并得到这样的结果:
pid 2415's current affinity mask: 1
pid 2415's new affinity mask: f
我也试着与运行R:后两种的
taskset 0xffff R
然而运行循环的这些步骤仍然只使用一个内核。
我想要并行处理回来!我怎么才能得到它?
您是否尝试过通过taskset执行R,如'$ taskset 0xffff R'中所示?在初始化OpenBLAS之前,可能需要正确设置CPU亲和性。 –
是的,我曾试过。编辑Q来反映这一点。 –