Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

File read/write of size larger than MPI's 2 GB integer limit #75

Open
tpeterka opened this issue Jan 30, 2020 · 0 comments
Open

File read/write of size larger than MPI's 2 GB integer limit #75

tpeterka opened this issue Jan 30, 2020 · 0 comments

Comments

@tpeterka
Copy link
Member

The problem is MPI’s use of integers for counts. In this case, MPI_File_write_at() has an integer count, and trying to write more than 2 GB in one write operation produces a corrupted output file, causing it to fail when reading back in. Similar situations exist for other flavors of MPI_File_write and MPI_File_read.

Possible solutions:

  • Combine the buffer to be written/read into a smaller number of larger MPI datatypes. The count refers to the number of datatype instances, not total number of bytes.
  • Chunk the write/read operation into multiple smaller ones.

The latter solution complicates collective I/O because all processes need to issue the same number of collective calls, which will need to be managed if some operations are chunked at some processes. It will also increase the total number of I/O operations. The former solution is preferable and probably ought to be tried first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant