We have already encountered the hyperslab selection procedure, i.e., a procedure that lets you read or write a portion of a dataset, in section 7.4.4 that talked about extendible datasets. In this section we are going to study hyperslab selection in more detail, the more so as hyperslab selection is crucial to MPI-IO writes and reads, because it is through this mechanism that processes get to stay away from each other's territory. In other words, hyperslab selection plays a role that is similar to MPI-IO file views.
Our first example is going to be sequential though, and here we will exercise hyperslab selection both on the file and on the memory side, because hyperslab selection can be used also to select a portion of a memory buffer from which to read or to which to write.
But then we'll switch to MPI-IO/HDF5 dataset manipulations and there we'll illustrate various dataset partitioning mechanisms whereupon each MPI process is going to select its own hyperslab within the dataset that resides on an HDF5 file.