MPI –これらの無料のチュートリアルでアプリでMPIを使用する方法

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


MPI(Message Passing Interface)は、1990年代初頭にエンジニアとコンピューターサイエンス研究者の幅広い連合によって開発された、標準化されたメッセージパッシングシステムです。オブジェクト指向プログラミング(OOP)に固有の概念に基づいて、さまざまなコンピュータープログラムまたはコンピューターシステムがメッセージをやり取りすることで相互に対話するための標準プロトコルを提供します。.

MPIは、並列コンピューティング環境でのメッセージパッシングの主要な標準です。 MPIを理解するには、以下について理解しておくと役立ちます。

  • メッセージパッシング一般
  • 並列計算

メッセージパッシング

メッセージパッシングは、プログラムが動作を呼び出したり、プログラムを実行したりするための方法です。これは、プログラムを呼び出す従来の方法とは異なります。メッセージの受け渡しは、一般的な機能の必要性を特定の実装から分離するオブジェクトモデルに基づいています。機能を必要とするプログラムがオブジェクトを呼び出し、そのオブジェクトがプログラムを実行する.

この手法の主な利点は、カプセル化のOOP概念に関連しています。使用する特定の実装を決定するロジックは、呼び出し側のプログラムではなく、オブジェクトに任され、機能のさまざまな側面を単一のオブジェクトにカプセル化します。.

例:コンピュータシステムには、プリントマネージャオブジェクトといくつかの個別のプリンタがある場合があります。プリンターを使用する可能性のある各プログラムは、どのプリンターをどのような状況で使用するかを決定する複雑なロジックと共に、各プリンターの独自の実装を持つ必要はありません。何かを印刷する必要があるすべてのプログラムは、単に印刷メッセージを印刷マネージャーに送信できます。印刷マネージャーはメッセージを受け取り、さらに特定のプリンターにメッセージを送信します。.

最近のコンピューターは、コンピューティングの(ほぼ)すべての側面にこの形式のシステム間メッセージパッシングを使用しています。これがあなたの毎日のコンピューティング体験にどのように影響するかのいくつかの例:

  • ファイルにアクセスしているアプリケーションに関係なく、ファイルを開くか保存するたびにほぼ同じユーザーインターフェイス(UI)が表示されます。これは、すべての異なるアプリケーションが同じファイルマネージャーにファイルアクセスメッセージを渡しているためです。
  • 新しいハードウェア(スキャナー、マウスなど)を追加すると、そのハードウェアを利用できるすべてのアプリケーションがすぐにそれにアクセスできます。’ハードウェアのドライバーを、それを使用する可能性のある各アプリケーションに追加する必要があります。各プログラムは、メッセージを独立したコントローラーに単純に渡すことができます。

これらは、メッセージパッシングの高レベルの例です。 MPIはより低いレベルで動作し、並列コンピューティング環境の多様なシステム間でメッセージをやり取りできるようにします.

並列計算

並列コンピューティングは、タスク(計算、プロセスなど)が小さなタスクに分割されるコンピューティングパラダイムで、逐次(逐次)ではなく並列(同時に)に実行できます。.

一般に、コンピューター処理コアは一度に1つの処理、つまり1つの計算しか実行できません。文字通り、一度に移動できるのは1ビットのデータのみです。最近のCPUは非常に高速に動作するため、この1ビットずつの計算方法では比較的高いレベルのパフォーマンスを実現できますが、小さな計算を逐次実行しています。そして、これがどれだけ速く進むことができるかに制限があります—今日に基づく実際的な制限’sテクノロジー、および物理法則に基づく絶対理論限界.

コンピュータシステムの速度を上げるために、並列処理と並列計算が発明されました。これにより、逐次的に計算されたタスクが分割され、別々のプロセッサで同時に(同時に)完了することができます。.

MPI —並列コンピューティングでのメッセージパッシング

並列計算が機能するためには、さまざまなコンピューターが相互に通信できる必要があります(メッセージをやり取りするため)。 MPI — Message Passing Interface —は、このコミュニケーションを促進するために作成されました.

MPIは言語に依存しないプロトコルであり、他のシステムからアクセスできるプロセッサおよびその他のハードウェア(実または仮想)にAPI(アプリケーションプログラミングインターフェース)を提供します。 MPIはハードウェアベンダーが実装する必要があり、MPI実装が組み込まれているハードウェアはすべて、MPIプロトコルを介して接続システムからアクセスできます。.

MPIには2つの通信モードがあります。

  • ポイントツーポイント—メッセージを直接別のシステムに渡す
  • 集合的、またはブロードキャスト—メッセージをグループに渡す1つのシステム

オンラインMPIリソース

MPIチュートリアル

これらの入門チュートリアルは、並列計算にMPIを使用する方法を学ぶのに役立ちます.

  • Wes KendallによるMPIチュートリアル—これは、MPIの非常に徹底的な紹介であり、オンラインで入手できる最高のものの1つです。.
  • MPIのチュートリアル:メッセージパッシングインターフェイス—アルゴンヌ国立研究所の数学およびコンピューターサイエンス部門のWilliam Groppによるもう1つの非常に詳細なリソース.
    • William Gropは、MPIでこのPDFプレゼンテーションも作成しました。.
  • Cを使用したメッセージパッシングインターフェース(MPI)の概要—言語固有のMPIチュートリアル.
  • Blaise BarnyによるMPIチュートリアル— Lawrence Livermore National Laboratoryから

実装

MPIは標準であり、特定のテクノロジーではありません。さまざまなベンダーの実装に依存しています。これらは、より頻繁に使用されるMPI実装の一部です(さらに多くあります)。.

  • MPICH
  • MPIを開く
  • Microsoft MPI
  • OpenMP

コミュニティとディスカッション

MPIの使用を開始し、問題を解決した後の最良の方法の1つ’再稼働して、エキスパートや他のMPIプログラマーと話します.

  • GoogleグループのMPIニュースグループフォーラム— MPIに関するディスカッションを専門とするUsenetニュースグループ
  • MPIフォーラムのメーリングリスト—公式のMPIフォーラムのさまざまなメーリングリスト
  • Open MPIメーリングリスト— Open MPI実装のメーリングリスト.
  • MPIフォーラムミーティング— MPIフォーラムがいつ開催されるかに関する情報.
  • MPフォーラムを開く
  • StackOverflowでのMPI — MPIの質問と回答.

ビデオ

MPIは講義や専門能力開発の話題で頻繁に取り上げられるため、MPIのさまざまな側面を探るビデオがたくさんあります。.

  • 並列プログラミングの概要–メッセージパッシングインターフェース(MPI)
  • MPIプログラミングの概要
  • 高性能コンピューティング— MPIの紹介
  • MPIとは

  • YouTubeでMPIチャンネルを開く—ここにMPI関連のすばらしいビデオがたくさんあります.

参照

ブックマークして何度も戻るためのいくつかの重要なMPI関連のリファレンスページ.

  • MPI:メッセージパッシングインターフェイス標準—これは、メッセージパッシングインターフェイスフォーラムのオリジナルの1994年テクニカルレポートです。.
  • MPIドキュメント—現在のMPI標準、および標準ドキュメントの以前のすべてのバージョン.
  • Open MPIドキュメント—この資料の一部はOpen MPI実装に固有ですが、そのほとんどはMPI標準に一般的です.

MPIに関する書籍

MPIは少し高度なため、本当に詳細な情報のほとんどは、オンラインチュートリアルよりも印刷された本で見つけやすくなっています。 MPIに関する最高のチュートリアルと参考書をいくつか紹介します.

  • Beginning MPI(An Introduction in C)— Wes Kendallによる、MPIに関する#1推奨チュートリアルも書いた.
  • MPIによる並列プログラミング—もう1つの優れた紹介テキスト.
  • MPIの使用–第2版:メッセージパッシングインターフェイスを使用したポータブル並列プログラミング(科学および工学計算)—これも少しは紹介ですが、科学および数学分析でのMPIの使用に重点を置いています.
  • MPIとOpenMPを使用したCでの並列プログラミング—特定の言語とMPI実装のためのプログラミングチュートリアル
  • MPI:The Complete Reference —本格的な並列プログラマーにとって不可欠なMPIデスクリファレンス.

よくある質問

MPIとは?

MPIはMessage Passing Interfaceです。これは、並列コンピューティング環境でコンピュータシステムが互いに通信できるようにする通信プロトコルです。.

MPIを使用するユーザー?

MPIは、並列またはクラスター化されたコンピューティングシステムを利用するアプリケーションを作成するほとんどすべての人が使用します。.

誰がMPI標準を管理するか?

MPI標準は、オープンで進化し続けるエンジニアとコンピュータサイエンスの学者のグループであるMessage Passing Interface Forumによって公開されています。.

MPIを学ぶ必要がありますか?

それはあなたがどのような開発作業を行っているか、そしてあなたの目標が何であるかによって異なります.

Ruby、Python、PHPなどの高水準スクリプト言語で主にWebアプリケーションを作成している場合(主にそれを続けたい場合)、MPIは学習する重要な標準ではありません。.

特にクラスター化または並列コンピューティング環境(クラウドコンピューティング、スーパーコンピューター、ビッグデータなど)で、基本的なシステム開発にもっと関与したい場合、MPIは重要な情報です.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map