問題タブ [mpich]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Windows で MPI アプリケーションをデバッグするには?
デバッグしたい MPI プログラムがあります。
私は Windows で mpich 2 を使用していますが、役立つツールを知っている人はいますか? それは可能ですか?
c - コード 説明 (MPICH)
上記のコードが何をするのか、誰か説明してもらえますか? 私は研究室にいて、ミスから説明を求められましたが、理解できません。
configure - Linuxでsctpネットワークモジュールを使用してmpich2を構築する方法は?
mpich2(ver 1.1.1p1または1.2.1p1)をsctpでコンパイルするために使用する必要がある構成オプションは何ですか?
私の試みでは、cpi.cをリンクするときにエラーが発生します(小さな例)。
私の選択肢は
プログラムのx8664secret.cross
出力ですgetcross.c
。ホスト、ターゲット、およびこのファイルは、クロスコンパイルを強制するためにここにあります。(これはこのビルドの要件です)
mpich2のsctpはアクティブ状態であり、コンパイルできますか?
sctpネットワークモジュールはクロスビルディングをサポートしていますか?
boost - mpic++を探しています
Boost MPIファイルをビルドしようとこれらの手順に従って.lib
いますが、1つの問題が発生しました:がありませんmpic++
。
MPICHやOpenMPIなどのMPI実装ファイルを見ると、まったくmpic++
含まれていません。
どこにありますmpic++
か?
mpi - mpiexec で strace を使用する
mpiexec (MPICH2、Linux) で開始された MPI 並列ジョブのすべてのプロセスを追跡するにはどうすればよいですか?
-o
異なるプロセスからの出力を台無しにします
PS一部の編集者へ:誰がそれを考えるかもしれませんMPICH is the name of the library. MPICH2 is a particular version.
. MPICH2 は実際にはMPICH2 is an all-new implementation of MPI
mpich と mpich2 の両方を使用する必要がありました。したがって、mpich2 を mpich に置き換えることはできません。
c++ - LAN クラスター内ではなく、インターネット経由で MPI (C++) プログラムを配布できますか?
大規模なクラスターで問題なく動作する MPI コードをいくつか作成しました。クラスタ内の各ノードは同じ CPU アーキテクチャを持ち、ネットワーク化された (つまり「共通」) ファイル システムにアクセスできます (各ノードが実際のバイナリを実行できるようにするため)。ただし、次のシナリオを検討してください。
- 私のオフィスには、デュアル コア プロセッサ (インテル) を搭載したマシンがあります。
- 自宅にデュアル コア プロセッサ (amd) を搭載したマシンがあります。
両方のマシンで Linux が実行され、両方のマシンで MPI コードをローカルで正常にコンパイルおよび実行できます (つまり、2 つのコアを使用)。
さて、異なるアーキテクチャを念頭に置き、共有 (ネットワーク) ファイルシステムがないという事実を念頭に置いて、4 つのコアすべてを利用できるように、MPI を介して 2 台のマシンをリンクすることは可能ですか?
もしそうなら、どのように?
ありがとう、ベン。
c - mpicc (MPICH2) および pthread_barrier (-lpthread) を使用したコンパイル
私は正常に動作する MPI ルーチンの機能する実装を持っています。これを MPI と共有メモリのハイブリッドにする過程で、pthreads を使用しています。これにより、pthread_barriers の必要性が証明されました。
しかし、mpicc コンパイラでコードをコンパイルしようとすると、pthread_barrier_t やその他のバリア コマンドについてエラーが発生します。これらを削除し、他のスレッド部分を保持すると、問題なくコンパイルされます。
これは、コンパイルを中断するために挿入するコード行です。
そしてコンパイルのために私は使用します:
コンパイラから返されるエラーは次のとおりです。
34行目は、上で書いたものに対応しています。
[編集] 次の gcc/mpicc コンパイラを使用して、Ubuntu 9.10 でこれを実行しています: gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1。[/編集]
何が間違っているのか、どうすればコンパイルできるのか誰か知っていますか?
乾杯!
c++ - WinマシンとLinuxマシンを一緒に使用するBoostMPIでOpenMPIまたはMPICHを使用する
最近、私はMPIの世界に近づいています。私はおそらくOpenMPIまたはMPICHでBoostMPIライブラリを使用するつもりです(MPICHを使用しても、私が読んだいくつかの投稿のために、それが正常に機能するかどうかはわかりません)。
私の本当の質問は次のとおりです。これらの2つのライブラリとその上にあるBoostMPIを使用して、LinuxマシンとWindowsマシンのリソースを組み合わせることができますか?
MPIを使用することが、同じオペレーティングシステムを持つリモートマシンでプロセスを開始できることを意味するかどうかはまだわかりません。原則としてMPIは通信プロトコル上にあるメッセージングシステムであるため、通信中のOSへの依存度はそれほど高くありません。
このトピックについて何か知っていますか、またはWinおよびLinuxマシンでMPIを使用しようとしたことがありますか?
ありがとうEO
loops - MPIを使用したラウンドロビン処理(1つ/一部オフ)
基本的に、まばらにサンプリングされたポイントのセットでのIDW2ベースのグリッド化のためのMPI実装があります。私は次のように仕事を分割しました:
- すべてのノードがすべてのデータを読み取ります。最後のノードは読み取る必要はありませんが、何でも読み取ります。
Node0は各データポイントを取得し、次のコードでノード1...N-1に送信します。
p>ノード1...N-1はIDWベースの推定を実行します
p>ノードNは、出力ファイルを受信してシリアル化します
これは3つのノードで正常に機能しますが、ノードが増えると、ループの境界がトリッキーで、実行全体がスタックするため、IDWループが一部オフになります。受信..プロセス..送信タスクを中間ノードで実行する簡単な方法は何でしょうか。気の利いたforループラインを探しています。
私がしたこと:
私のより良い判断に反して、中間ノードにwhile(1)ループを追加し、END_TAGを含むメッセージを受信した場合の終了条件を追加しました。すべてのポイントが送信されると、Node0はすべての中間ノードにEND_TAGメッセージを送信します。
cluster-computing - 間違った数のCPUを使用しているmpiexec
MPIクラスターをセットアップしようとしています。しかし、mpd.confファイルに追加されたCPUの数が正しく使用されていないという問題があります。私は3つのUbuntuサーバーを持っています。48コアのopteron8コアのcalc18コアのcalc2。
私のmpd.hostsは次のようになります:
opteron:46
calc1:6
calc2:6
起動後(mpdboot -n 3 -f mpd.hosts)、システムが実行されています。mpdtrace->3つすべてが一覧表示されます。
しかし、「mpiexec -n 58 raxmlHPC-MPI ...」のようなプログラムを実行すると、calc1とcalc2は多くのジョブを取得し、同時にopteronは少数になります。私は何が間違っているのですか?
よろしく
ビョルン