2016-07-31 5 views
0

ライブラリVersion: 2.2.0 Date: 2016-05-17、具体的にはThe package runs in both serial and parallel (OpenMP)と記載されていますが、sessionInfo()というメッセージが表示されています。randomForestSRC_2.2.0と書かれています。私はopenMP対応版のインストール手順に従い、Ishwaran's siteからダウンロードしました。なぜopenFileは私のrandomForestSRCを高速化していませんか?

しかし、私は8本の木のちっぽけな森の建物をスピードアップしようとしている、そしてそのはまったくスピード違反ではない:(

をシリアル:

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ビットのWindows 10 Proを使用しています。私のマシンは4つのコアと8つの論理プロセッサを備えています。私のデータはそれほど大きくありません。

print(nrow(m)) 
23070 
print(ncol(m)) 
67 

私は間違っていますか? ありがとう!

+0

オペレーティングシステムの監視ツールを使用して、これらの2つの例で実際に使用されているコアの数を確認できますか? – Spacedman

+0

@Spacedman - 私はタスクマネージャーをチェックし、両方のケースで8つのプロセッサーが何かをしているように見えます。時間の15%を要します - どれも非常に熱心ではなく、全くアイドル状態ではありません – ihadanny

答えて

2

実際、パッケージはシリアルとOpenMPの並列処理をサポートしています。ただし、デフォルトのCRANビルドプロトコルとバイナリでは、この機能をそのまま使用することはできません。使用しているプラ​​ットフォームに固有の詳細については、第2ページの「OpenMP並列処理 - インストール」を参照してください。

+0

私は指示に従ったと確信しています - 私が使用しているパッケージはhttp://www.ccs.miami.edu/~hishwaran/rfsrc.htmlのものです - サイズ1.30のrandomForestSRC_2.2.0.zipですMB(1,365,819バイト)。私は他のことを忘れましたか? (そして素早くサポートしてくれてありがとう!) – ihadanny

+1

Windows用に公開されたバイナリは、Windows 8.1 Proを使用してビルドされました。残念ながら、私たちはWindows 10でそれをテストしたりパッケージを構築したりしていません。どのプラットフォームでも(常に)良い方法は、パッケージをソースからコンパイルすることです。前提条件は、システム上でR Windowsツールセットを使用できることです。 WindowsのソースからCRANパッケージをコンパイルするのは、他のプラットフォームよりも少し複雑です。これを行う方法の詳細については、https://cran.r-project.org/bin/windows/Rtools/を参照してください。 –

関連する問題