問題タブ [mpi-io]

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.

0 投票する
2 に答える
211 参照

arrays - MPI 集合出力 特殊な形式の 5 つの非連続 3D 配列

コースワークの実現中に、私は PDE 連続体の力学を解くために MPI プログラムを書かなければなりません。(フォートラン)

シーケンスプログラムファイルでは、次のように記述します。

並列プログラムでは、次のように記述します: / 並列化は軸 X に沿ってのみ行われます /

それはうまくいきます。しかし、配列dataTmpの使用についてはわかりません。どのソリューションがより速く、より正確になりますか? プログラム全体で dataTmp のような 4D 配列を使用するのはどうですか? または、おそらく、異なるディスプレイスメントで 5 つの特別な mpi_types を作成する必要があります。

0 投票する
1 に答える
126 参照

fortran - これら 2 つの MPI-IO コードが同じように動作しないのはなぜですか?

私は MPI-IO を学習しており、チュートリアル(PDF ダウンロードはこちら)に従っています。

1 つの演習では、正しいコードは次のとおりです。

次に、それを 24 個の MPI タスクとしてビルドして実行するだけです。次に、検証のために、単純に od -i test/dat を実行します。以下に示すチュートリアルとまったく同じ結果が得られます。

しかし、1numに変更すると:

の中へ

そしてその前に定義する

rm test.dat の後、ファイルを再ビルドして実行すると、次のようになります。

0 投票する
1 に答える
66 参照

c - MPI 非標準タイプの分散読み取り

char と double のシーケンスを含むバイナリ ファイルを読み込もうとしています。(たとえば、0 0.125 1 1.4 0 2.3 1 4.5 ですが、バイナリ ファイルに書き込まれます)。単純な構造体入力を作成し、この構造体に対応する mpi_input と呼ぶ MPI データ型も作成しました。

を使用して、ファイルを並行して(つまり、ここでは異なるプロセッサを使用して)読みたいと思いますMPI_File_read_at_all。この関数でデータ型 mpi_input を使用したいと思います。

問題は、この関数には最後まで書き込むバッファが必要だと思うことです。を使用してみましたinput *bufferが、これにより、データ構造のアライメントが原因で問題が発生します。これを行う方法について何かアイデアはありますか?

最小限の作業例を次に示します。

そして、単純なバイナリ ファイルを生成するコードを次に示します。

0 投票する
1 に答える
2603 参照

c - MPI_File_read_at 行ごと

私は MPI の新しい学習者です。MPI_File_read_at() を使用して、txt ファイルからデータを 1 行ずつ読み取りたいと思います。各行の長さは異なるため、1行を読んでいる(バッファの長さを設定している)と、次の行も読み取られ、次の行の一部がバッファに送信され、実際に問題が発生することがあります...それで、MPI_File_read_at() を使用してデータを 1 行ずつ読み取る方法はあるのでしょうか? 各行の最後に「\n」があると停止しますか? または、 MPI_File_read_at() 以外の MPI 関数を使用して、データを 1 行ずつ読み取るためのより良い提案はありますか?

私の質問は、MPI_File_read_at() を使用して fgets と同じことを行う方法だと思います

0 投票する
0 に答える
289 参照

c - MPI で共有ファイルへの書き込みを最適化する

私の MPI プログラムでは、いくつかの計算の結果を 1 つの (共有) ファイルに書き込む必要があります。このファイルでは、各 MPI プロセスがデータのその部分を異なるオフセットに書き込みます。十分に単純です。私はそれを次のように実装しました:

これは実際には配列であるため、少し単純化されdataていますが、簡潔にするために単一の値であると仮定しましょう。すべてのプロセスがこのルーチンを同時に呼び出し、正常に動作します。ただし、これが MPI で IO を実行する最適な方法かどうかはわかりません。を使用しMPI_File_write_at_allたりMPI_File_write_ordered、パフォーマンスを向上させたりすることはできますか?

残念ながら、クラスター (Lustre を含む) での時間は非常に限られているため、考えられるすべての実装を広範囲にテストすることはできません。