通常、バイナリ ファイルに書き込まれるもののタイプと数はわかっています (たとえば、すべての整数、10 int
3float
など)。バイト数として読み取ることができますが、MPI バイナリ ファイルは通常、型の整数として読み取り/書き込みが行われます。この場合、9 つの整数です (したがって、桁数は重要ではありません)。ファイルを開いて、次のように読み取ります。
call MPI_FILE_OPEN(MPI_COMM_WORLD, filename, &
MPI_MODE_RDONLY , MPI_INFO_NULL, fh, ierr)
bufsize = 3*3
allocate(buf(bufsize))
call MPI_FILE_READ_ALL(fh, buf, bufsize, MPI_integer, &
MPI_STATUS_IGNORE, ierr)
可変行列サイズの場合MPI_File_get_size
、サイズを取得したり、読み取る要素の数を計算したりできます。混合データの場合、バイナリ ファイルの最初 (または最後) の部分をヘッダーとして持つことができます。これを最初に読み取り、ファイルの残りの部分をデコードするために使用します。コード/ヘッダーの形式を変更すると、下位互換性が失われるため、ヘッダーの形式を知る必要があります。これは、HDF5 https://support.hdfgroup.org/HDF5/のようなデータ形式の理由の一部です。