我正在使用R randomForestSRC
库Version: 2.2.0 Date: 2016-05-17
,在其描述中明确说明The package runs in both serial and parallel (OpenMP)
,我确定它已加载,sessionInfo()
说:{{ 1}}。我已按照安装openMP的版本的说明进行操作,并从Ishwaran's site下载。
然而,我正在努力加快建造一片8棵树的小森林,而且它根本没有超速:(
串行:
randomForestSRC_2.2.0
并行:
options(rf.cores=1, mc.cores=1)
system.time(my.rfsrc <- rfsrc(Surv(score_years_before_label, status) ~ ., data = m, nsplit=10, ntree = 8, na.action = "na.impute", tree.err=TRUE, importance = TRUE))
user system elapsed
359.42 0.06 359.58
我正在使用print(detectCores())
[1] 8
options(rf.cores=8, mc.cores=8)
system.time(my.rfsrc <- rfsrc(Surv(score_years_before_label, status) ~ ., data = m, nsplit=10, ntree = 8, na.action = "na.impute", tree.err=TRUE, importance = TRUE))
user system elapsed
378.07 0.05 314.67
,64位,我的机器有4个内核和8个逻辑处理器,我的数据不是那么大:
Windows 10 Pro
我做错了什么? 谢谢!
答案 0 :(得分:2)
实际上,该软件包确实支持串行和OpenMP并行处理。但是,默认的CRAN构建协议和二进制文件不能立即启用此功能。有关您的平台的其他详细信息,请参阅文档的第2页,标题为&#34; OpenMP并行处理 - 安装&#34;的部分。