MPI_Aint lb, extent, extent_in_file; MPI_Datatype etype, filetype, contig; MPI_Offset disp; MPI_File fh; int buf[1000]; MPI_File_open(MPI_COMM_WORLD, "/pfs/datafile", MPI_MODE_CREATE | MPI_MODE_RDWR, MPI_INFO_NULL, &fh); MPI_File_set_view(fh, 0, MPI_BYTE, MPI_BYTE, "external32", MPI_INFO_NULL); MPI_File_get_type_extent(fh, MPI_INT, &extent_in_file); MPI_Type_contiguous(2, MPI_INT, &contig); lb = 0; extent = 6 * extent_in_file; MPI_Type_create_resized(contig, lb, extent, &filetype); MPI_Type_commit(&filetype); disp = 5 * extent_in_file; etype = MPI_INT; MPI_File_set_view(fh, disp, etype, filetype, "external32", MPI_INFO_NULL); MPI_File_write(fh, buf, 1000, MPI_INT, MPI_STATUS_IGNORE);