Level-2 Access
Each process creates a derived datatype to describe the noncontiguous access pattern, defines a file view, and calls independent I/O functions
MPI_Type_create_subarray(..., &subarray, ...);
MPI_Type_commit(&subarray);
MPI_File_open(..., file, ..., &fh);
MPI_File_set_view(fh, ..., subarray, ...);
MPI_File_read(fh, A, ...);