0

くだらない質問かもしれませんが、

データを連続的に作成するために、プロセッサが同じファイルにNすべて異なるものを書き込むことを望みます。byte countoffset

MPI_File_write_all(file,data,count,type,status)(個別ファイルポインタ、一括、ブロック)機能を使いたいです。

最初の質問は、各プロセッサがcountパラメータに異なる値を指定できるか? MPI 3.0 リファレンスで言及されているものは見つかりませんでした。(私の意図は、それは不可能ですか?)

これまでにわかったことは、次の2つの問題です。

  1. MPI_File_write... 関数に大量MPI_BYTESの整数 (32 ビット)を書き込みたい場合、関数は少なすぎて、もちろんオーバーフローします!count

  2. MPI で派生データ型を使用しない (できない)/使用したくないのは、前述のように、すべてのプロセッサが別のデータ型を書き込みbyte count、型がMPI_BYTES

このトピックについてご協力いただきありがとうございます。

4

1 に答える 1

2

ここにいくつかの質問をまとめました

  • 当然のことながら、プロセスは集合MPI_File_write_allルーチンに対して異なる量のデータを指定することも、まったく量のないデータを指定することもできます。countパラメータが異なるだけでなく、パラメータdatatypeが同じである必要もありません。

  • int問題 #1:大量の MPI_BYTE データを書き込みたい場合は、新しい datatpye を作成する必要があります。たとえば、90 億バイトを書き込みたいとします。サイズが 10 億のコンティグ型を作成し、そのうちの 9 つを書き込みます。(書き込みたいデータの量が割り切れない場合は、hindexed または struct 型が必要になる場合があります)。

  • 問題 #2: すべての MPI プロセスが独自のデータ型またはデータ型の数を作成することはまったく問題ではありません。

于 2013-11-05T16:08:58.683 に答える