問題タブ [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.
shell - intel のコンパイラで MPICH 3.0.4 をコンパイルする
次のシーケンスを使用して、ubuntu 12.04 で ifort と icc を使用して mpich-3.0.4 をコンパイルしました。
コンパイルは問題ないようですが、問題は、 libmpich.aがビルドされないことです libmpich.a のみがビルドされますが、モデルをコンパイルするには両方が必要です。
誰でも助けることができますか?
c++ - プロセスは自分自身にデータを送信できますか? MPICH2 の使用
上三角行列と結果ベクトル b があります。私のプログラムは線形システムを解決する必要があります:
斧=b
パイプライン方式を採用。制約の 1 つは、プロセスの数が方程式の数よりも少ないことです (2 から numberOfEquations-1 まで可能であるとしましょう)。
私は今コードを持っていません、私は疑似コードについて考えています..
私の考えでは、プロセスの 1 つがランダムな上三角行列 (A) ベクトル b を作成するというものでした。これがランダム行列であるとしましょう:
ベクトル b は[10 5 8 9 10 5]
であり、方程式の数よりも少ない量のプロセスがあります (2 つのプロセスとしましょう)
だから私が考えたのは、いくつかのプロセスがマトリックスから各プロセスラインに送信し、ベクトルbから関連する番号を送るということです。
したがって、行列の最後の行とベクトル b の最後の数値は、X を計算して結果をプロセス 0 に送信するよりも、プロセス [numProcs-1] (ここでは最後のプロセス (プロセス 1) を意味します) に送信されます。
プロセス 0 は行列の 5 行を計算する必要があり、ここで立ち往生しています。プロセス 1 によって計算された X がありますが、プロセスが行列の次の行と関連する番号を自分自身に送信するにはどうすればよいですか?計算する必要があるベクトル b から?
出来ますか?「自分」に送るのはよくないと思う
ssh - 複数のマシンでの MPICH2 (HYDU_sock_connect エラー)
2 台の異なる PC で MPI プログラムを実行しようとしています。ただし、pc1 でこのコマンドを実行すると、次のようになります。
次のエラーが表示されます。
パスワードなしで SSH 接続を構成し、各マシンでファイアウォールを無効にしましたが、エラーはまだ残っています。私のオペレーティング システムは Ubuntu 12.04 で、mpi は MPICH2 です。
助けてくれる人はいますか?
c++ - MPI で新しいタイプを作成する方法
MPI は初めてなので、新しいデータ型を作成したいと考えていますResidence
struct
。新しいタイプを正しい方法で作成できるかどうかを確認したいだけです。struct Residence {ダブルx; ダブルy; };
新しい MPI タイプ
c++ - MPI の各プロセスへの乱数
「奇偶」ソートを実装するために MPICH2 を使用しています。私は実装を行いましたが、各プロセスの値をランダム化すると、同じ数がすべてのプロセスにランダム化されます。
各プロセスのコードは次のとおりです。各プロセスは値をランダム化しています。
各プロセスが同じ値を取得するのはなぜですか?
編集:答えてくれてありがとう:)
ラインを変えました
に
そして、プロセスごとに異なる値を与えます:)
runtime-error - MPI エラー 134 の意味は何ですか?
IBM によると、エラー 134は次のことを意味します。
バッファはすでに文字列、タスク番号にアタッチされています
そしてそれを説明し続けます
バッファーが既にアタッチされているときに、バッファーをアタッチしようとしました。
私はかなり不可解だと思います。エラーメッセージをグーグルで検索しようとしても、結果は得られませんでした。
エラーを特定するために、すべての MPI 関数をコメントアウトして、 forMPI_Init
および を保存しましMPI_Finalize
た。具体的には、
initialize()
いくつかのファイルを読み取り、メモリを割り当てます。また、呼び出しMPI_Comm_rank
てMPI_Comm_size
、後で使用できるように保存します。
MPICH2 バージョン 1.4.1 ( 1.4.1-1ubuntu1
dpkg による) を使用し、gcc 4.6.3 でコンパイルしています。mpiexec によって開始されたプロセスの数に関係なく、エラーが発生します。
編集:用語のクイック検索134
、error code
およびMPICH2マニュアルerror message
では情報が提供されませんでした。のマンページもそうではありません。mpiexec
編集 2: でバッファ オーバーフローが発生していることに気付いた後、プログラムのエラーは解決されましたinitialize()
。このエラーに関するより良い説明が欲しいので、質問はまだ残っています。
mpi - 使用している MPICH または OpenMPI のバージョンを確認するにはどうすればよいですか?
私は MPI とその親戚の非常に初心者のユーザーです。私の機関でアクセスできるノードには MPI がインストールされていますが、所有しているバージョンを知りたいです。
この古い質問から、答えは試してみることを提案します:
しかし、これを試してみると、次のエラー メッセージが表示されます。
そうは言っても、私が MPICH を持っているかどうかは完全にはわかりません。代わりに OpenMPI を使用する場合があります。ldd
しかし、私は自分のプログラムで実行したため、MPICH を持っていると思います。出力には への参照が含まれてlibmpich.so
いました。
私が使用している MPI のバージョンを抽出する方法について何かアイデアはありますか?
補遺
その古い質問に対する別の答えは、試してみると言います:
私はこれを試しましたが、次の出力が得られます。
だから私はMPICH2 バージョン 1.2.1p1を持っていると思います。しかし、これでMPICH2 バージョン 1.2.1p1が現在インストールされていることを確認できますか? それとも、 MPICH2 バージョン 1.2.1p1mpicc
で構成されていて、別のバージョンの MPI がインストールされている可能性がありますか?