2009-06-08 12 views
1

計算を複数のコンピュータおよび/または各コンピュータの複数のコアに配布するパッケージについて知っていますか?計算コードはC++で、パッケージは2GBを超えるデータに対応し、Windows x64マシンで動作する必要があります。シェアウェアはいいですが、要件ではありません。計算配布用パッケージ

答えて

0

MPIライブラリがあり、DVM systemがMPI上で動作しています。これらは、さまざまなタスクを並列化するために広く使用される一般的なツールです。

1

あなたは、適切な解決策は、あなたが処理したい計算とデータの種類、あなたが達成したい並列処理の粒度に依存するであろうOpenMP

+0

私はこれがまさに私が探していると思います! – AnnaR

2

を見てみたいことがあり、そしてあなたが投資して喜んでどのくらいの努力その中に。

最も簡単なのは、並列性をサポートする適切なソルバー/ライブラリ(例: scalapack)を使用することです。または、独自のソルバを展開する場合は、OpenMPまたは自動並列化を提供するコンパイラ(たとえば、Intel C/C++コンパイラ)を使用して、現在のコードからいくつかのパラレル化を絞り出すことができます。これらのすべては、コードの大規模な再構築を必要とせずに、合理的なパフォーマンスの向上をもたらします。

スペクトルの反対側には、MPIオプションがあります。アルゴリズムがうまく並列化されれば、最大限のパフォーマンス向上が得られます。しかし、それはかなりのリエンジニアリングを必要とします。

もう1つの方法は、スレッドのルートを下げることです。これは悪夢のようなものにならないようにするツールがあるライブラリがあります。これらは一見価値があります:Boost C++ Parallel programming libraryThreading Building Block

関連する問題