You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MMSP.grid.hpp calls MPI_File_preallocate before writing data at specified offsets, to make sure the filesystem has allocated sufficient space for the incoming data. However, profiling with mpiP reveals that this preallocation is a bottleneck. This is explained in "On Implementing MPI-IO Portably and with High Performance": most filesystems do not implement a preallocation routine, so MPI-IO must write data to disk in order to force allocation.
This reflects a minor design flaw, in that MMSP forces something the filesystem clearly does not require. Therefore, it should be safe to drop MPI_File_preallocate from the grid class. Further, it may be desirable to use the collective MPI_File_iwrite_at_all instead of non-collective MPI_File_iwrite_at to perform the file output.
The text was updated successfully, but these errors were encountered:
MMSP.grid.hpp calls MPI_File_preallocate before writing data at specified offsets, to make sure the filesystem has allocated sufficient space for the incoming data. However, profiling with mpiP reveals that this preallocation is a bottleneck. This is explained in "On Implementing MPI-IO Portably and with High Performance": most filesystems do not implement a preallocation routine, so MPI-IO must write data to disk in order to force allocation.
This reflects a minor design flaw, in that MMSP forces something the filesystem clearly does not require. Therefore, it should be safe to drop
MPI_File_preallocate
from the grid class. Further, it may be desirable to use the collectiveMPI_File_iwrite_at_all
instead of non-collectiveMPI_File_iwrite_at
to perform the file output.The text was updated successfully, but these errors were encountered: