h5py および mpi4py を介して並列 HDF5 を使用して大規模なデータセットをファイルに書き込む場合 (また、C から直接 HDF5 および MPI を使用する場合も可能です)、単一のプロセスで mpio ドライバーを使用すると、次のエラーが発生します。
OSError: データ書き込みの準備ができません (サイズから size_i に変換できません)
少なくともコンテンツが double 配列の場合、許可されるデータセットの制限は 4GB のようです。より多くのプロセスを使用してワークロードを共有する場合、または mpio ドライバーを使用せずに単一の CPU で実行する場合、より大きなデータセットは正常に機能します。
どうしてこれなの?size
とはsize_i
ポインタ型であり、前者は 4GB に対応するものよりも大きなアドレスを保持できませんdouble[]
か? 一般に複数のプロセスを使用するため、このエラーはおそらく最終的には深刻な問題にはなりませんが、単一のプロセスのみを使用してもコードが機能するようにしたいと考えています。