gpt4 book ai didi

r - mclapply 不使用多核

转载 作者:行者123 更新时间:2023-12-04 18:43:51 26 4
gpt4 key购买 nike

我正在尝试使用 mclapply() 并行处理一堆 csv 文件并返回 R 中的数据帧.我有一台 64 核机器,我似乎无法使用 mclapply() 获得目前使用的 1 个内核。 .其实运行lapply()要快一点而不是 mclapply()在这一刻。这是一个示例,表明 mclapply() 没有使用更多可用内核:

library(parallel)

test <- lapply(1:100,function(x) rnorm(10000))
system.time(x <- lapply(test,function(x) loess.smooth(x,x)))
system.time(x <- mclapply(test,function(x) loess.smooth(x,x), mc.cores=32))

user system elapsed
0.000 0.000 7.234
user system elapsed
0.000 0.000 8.612

有什么技巧可以让这个工作吗?我必须在这台机器上从源代码编译 R (v3.0.1),是否有一些我错过了允许 fork 的编译标志? detectCores()告诉我,我确实有 64 个内核可以玩......
任何提示表示赞赏!

最佳答案

我得到和你相似的结果,但如果我改变 rnorm(10000)rnorm(100000) ,我得到了显着的加速。我猜想额外的开销抵消了这种小规模问题的任何性能优势。

关于r - mclapply 不使用多核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476414/

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