2017-09-24 30 views
0

OpenMPIを使用して並列コンピューティングタスクを実行する異機種コンピューティングクラスタがあります。クラスタ内のすべてのノードが同じ実行可能ファイルを実行できるわけではないため、いくつかのノードが独自のバージョンのプログラムをコンパイルし、それらのノード上でOpen MPIに実行可能ファイルを呼び出させたいと思います。私の最初の質問は、OpenMPIが異機種アーキテクチャ間でこの種のコンピューティングを可能にするかどうかです。特定のノードに対して実行可能ファイルを指定するOpenMPI

私の2番目の質問は、どのノードでどの実行ファイルを実行するかを指定する方法です。例えばprog1node3node4、およびnode5prog1prog2は、同じプログラムが、mpiccまたはmpic++ラッパーのコンパイラを使用して異なるアーキテクチャ用にコンパイルされ、実行可能prog2を、実行することができます実行実行することができますnode0node1、およびnode2を言うことができます。私は次の操作を行いますすべてのノード間に並列にこのプログラムを実行したい場合は

mpirun -n 3 --hosts node0,node1,node2 prog1 : -n 3 --hosts node3,node4,node5 prog2

ない場合、私はこの効果を達成するために何をしますか? This投稿は、異種クラスタコンピューティングがOpenMPIでサポートされていることを示していますが、OpenMPIを--enable-heterogeneousフラグでビルドする必要があります。私のクラスタはArchLinuxを実行しているので、私はpacmanでOpenMPIをインストールしたので、これをどうやって行うのか分かりません。タイプミスがある

答えて

1

注意(ので、あなたのコマンドは

mpirun -n 3 --host node0,node1,node2 prog1 : -n 3 --host node3,node4,node5 prog2 

--enable-heterogeneousは、MPIは、Intelのx86_64の間例えば、異種システム(上で実行することができますので、オープンに必要とされるべきである(--hosts終わる必要はありません)リトルエンディアン)とsparcv9(ビッグエンディアン)ノード)。 OpenMPI(ArchLinuxに付属)にこのフラグが設定されていない場合は、このパッケージを再構築する必要があります。もう1つの選択肢は、Open MPIを再構築して別のディレクトリにインストールすることです。

異質なサポートは(非常に)軽くテストされているので、最新のOpen MPI 3.0シリーズを使用することを強くお勧めします。

+0

素晴らしい。だから私はOpenMPIをそのフラグでビルドしたら、別の実行可能ファイルをコンパイルして、そのコマンドで実行することができます。 –

+0

だと思いますが、どのようなアーキテクチャを実行する予定ですか? –

+0

クラスタ内のいくつかのノードにはx86チップセットがあり、ARM(確かに貧しい人のクラスタ、教育プロジェクトのようなもの)の –

関連する問題