さまざまなファイルから大量のcsvデータを読み取るためのRスクリプトがあり、分類のためにsvmなどの機械学習タスクを実行します。
Rのサーバー上で複数のコアを使用するためのライブラリはありますか。
それ
を実現するのに最適な方法は何ですか?
さまざまなファイルから大量のcsvデータを読み取るためのRスクリプトがあり、分類のためにsvmなどの機械学習タスクを実行します。
Rのサーバー上で複数のコアを使用するためのライブラリはありますか。
それ
を実現するのに最適な方法は何ですか?
回答:
GNU / Linuxを使用している場合、ShaneとDirkによる以前の回答は素晴らしいです。
Windowsのソリューションが必要な場合は、この投稿に1つあります。
パッケージはまだCRANにありませんが。そのリンクからダウンロードできます。
このトピックのやや広い範囲は、高性能コンピューティングのCRANタスクビューにあります。これは、JSSのRを使用したParallel Computingに関するごく最近の調査記事にもリンクしています。
最後に、いくつかの実践的な例とヒントが、Rを使用したHPC入門チュートリアルに時々あります。先週のuseRでの最新のコピーについては、プレゼンテーションページを参照してください。
以前の回答には、一般的なHPCの考慮事項が欠けていることに気付きました。
まず、これらのパッケージのいずれも、1つの SVMを並行して実行できません。したがって、高速化できるのはパラメーターの最適化または相互検証ですが、それでも独自の関数を作成する必要があります。または、場合によっては、異なるデータセットに対してジョブを並行して実行することもできます。
2番目の問題はメモリです。数台の物理コンピューターに計算を広げたい場合は、無料の昼食はありません。データをコピーする必要があります。ここでは、コンピューター間でデータのコピーを事前に配布して通信を節約することが理にかなっているかどうかを考慮する必要があります。一方、1台のコンピューターで複数のコアを使用する場合、すべての子プロセスが親プロセスのメモリにアクセスできるため、マルチコアが特に適切であり、時間と多くのメモリスペースを節約できます。
sprint
機能を備えたRのパッケージがありますが、psvm
R 3.0の変更と新しいCRAN提出ガイドラインに遅れをとっていないため、現在のダウンロードはCRANで利用できないか、R 3.0と完全に互換性がありません。あなたのマイレージは異なる場合があります。
シェーンとダークの両方の回答が注目されています。
それにもかかわらず、大きなデータセットを処理し、複数のコアで実行するために構築されたRevolution Rと呼ばれるRの商用バージョンを見てみたいかもしれません。このソフトウェアは学者には無料です(あなたの場合かもしれませんが、私は知りません)