Idea: have sparse grid I/O not on a single process group, but spread out across process groups.
For instance, process 0 will always be part of the output communicator, and the i-th rank of the output communicator will be part of the i % num_groupsth process group. Only this process group will hold the extraSparseGrid data structure.
achieves improved write and read throughputs on hawk, where the limit is given by the number of nodes involved in I/O.
Idea: have sparse grid I/O not on a single process group, but spread out across process groups.
For instance, process 0 will always be part of the output communicator, and the
i
-th rank of the output communicator will be part of thei % num_groups
th process group. Only this process group will hold theextraSparseGrid
data structure.achieves improved write and read throughputs on hawk, where the limit is given by the number of nodes involved in I/O.