問題タブ [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.
mpi - MPI: mpiexec の 3 番目のパラメーターが明確ではありません
次の MPI コマンドの 3 番目のパラメーターは正確には何ですか
いいえ。コアの?Pentium 4 で実行している場合は、1 にしますか?
mpi - MPI: MPICH2 インストールと Windows を使用した LAN でのプログラミング
私はMPIを学んでいます。私が従った最初のチュートリアルはこちらです
MSVC 2010 を搭載した Windows 7 で正常に実行されたコードは次のとおりです。
Pentium-4 マシンでこのコードを正常に実行しています (まだ Pentium-4 が 1 つあることに驚かないでください)。
ここで、イーサネット LAN に接続された複数のマシンでこのコード (またはその他の MPI コード) を実行したいと考えています。たとえば、各マシンが 1 から 1000 までの合計を出し、マスター ノードに送り返すと、マスター ノードはこれらすべての数値を加算して最終的な合計を取得します。
私の質問は、ネットワークで MPI プログラミングを開始する方法です。各マシンで実行する必要があるすべてのツール/ソフトウェア。
チュートリアルへのポインタを教えていただければ幸いです。
アップデート:
Jevの答えで疑問が解消されました。私の最近の質問は次のとおりです。
各マシンに MPICH2 をインストールしますか? cfg ファイルに 1 行ごとに各マシンの名前を書き込んだ後、他に何かする必要がありますか、それとも単に次のコマンドを実行する必要がありますか:
アプリケーションがすべてのマシンで実行されていることをどのように確認できますか? アプリの実行中に、各マシンで特別な構成などを行う必要がありますか?
mpi - 自分の Windows マシンで使用している MPICH のバージョンを確認する方法
Windows 7 マシンで使用しているライブラリのバージョンを確認したかっただけです。私はどのように行いますか?
PIの計算など、いくつかの簡単な例を正常に実行しました。
これは、CMD プロンプトでコマンドを入力して行いました。バージョンを見つけるためのコマンドが存在する必要があると思います。
また、以下は私のWindowsマシンでは機能しません
windows - Windows マシンで MPI を開始するにはどうすればよいですか
WindowsマシンでMPIを学ぶのに苦労しています。MPICH2 を試してみましたが、LAN 上でアプリケーションを実行できませんでした。Windows マシンで最もサポートされている実装を誰か教えてもらえますか? そこには多くの実装があることは知っていますが、どれを選択するかは私を混乱させます。
mpi - MPICH2: プロセスのコンピューター名を取得するための API
私は最初の MPICH2 プログラムを立ち上げ、2 台の PC の LAN で実行しました。クライアントで入力しているコマンドは次のとおりです。
私のプログラムはこれです:
MPI_hello.c をローカルでコンパイルして、各マシンで実行可能ファイルを取得しました。
次のようなものを出力する必要があるように、コードを変更したいと思います。
PC1 と PC2 は、MPI プログラムを実行する 2 台の PC の名前です。したがって、基本的には、各プロセスとともにコンピューターの名前を取得する API を探しています。
どうすればいいですか?
アップデート
damienfrancois の両方の回答は完全にうまくいきました。ここに私の出力があります:
プロセス ID の割り当てはアフィニティの問題であり、hosts.cfg ファイルで言及する必要があります。
mpi - MPI: 私の MPICH プログラムが大きな数で失敗するのはなぜですか? プロセスの?
上記のプログラムは、小さい番号の ubuntu 12.04 で正常にコンパイルおよび実行されます。プロセスの。しかし、何千ものプロセスで実行しようとすると失敗します。なぜそうなのですか?スケジューラがスレッドをキューに保持し、1 つずつディスパッチできることを期待しています (このコードをシングル コア マシンで実行しています)。
大きい番号に対して次のエラーが発生するのはなぜですか。のプロセスと、この問題を解決する方法