2

並列プログラミングをゆっくりと始めようと思っています。OpenMPI がインストールされたクラスターを使用して、このようなことを学習する人を見てきました。クラスターにはアクセスできませんが、クアッドコア マシンを使用しています。ここで何かメリットを感じることができますか? また、仮想マシン内で Linux を実行している場合、VM 内で OpenMPI を使用しても意味がありますか?

4

1 に答える 1

5

ターゲットが学習である場合、クラスターはまったく必要ありません。クアッドコア(または任意のデュアルコアまたはシングルコア)コンピューターで十分です。重要な点は、「並行して」考える方法と、アプリケーションを設計する方法を学ぶことです。

重要なポイントは次のとおりです。

  • 分割統治法、マスターワーカー、SPMDなどのさまざまな並列処理パラダイムを活用します。データとタスクの依存関係に応じて実行します。
  • 異なるデータ分割の粒度を選択して、計算/通信比(メッセージパッシングの場合)を確認するか、メモリ領域への相互排除のためにシリアル実行の量を確認します。

クアッドコアを使用すると、アプローチのスピードアップ(並列化によって達成されるパフォーマンスの向上)を測定できます。これは通常、非並列実行の時間と並列実行の時間の間の除算によって与えられます。4に近づくほど(4つのコアは実行時間の1/4を意味します)、並列化戦略は優れていました(作業とデータを均等に分散できれば)。

于 2010-02-19T13:22:36.627 に答える