SIZE, for which
MPI_Type_construct_darrayis still going to work? Test it using the program discussed in section 5.3.4.
MPI_INTwith a more elaborate structure that would contain more data?
file_typein section 5.3.4 does not imply the restriction on the size of the file. It is only a restriction on the amount of data that can be written on the file in a single
MPI_File_writeoperation. But this operation can be repeated. Rewrite the program discussed in section 5.3.4 in the following way:
read_bufferdefine and malloc several, e.g.,
write_buffer_2, etc., of identical size, but make sure that you have enough memory for them all. Aim for not more than a GB of memory per process.
write_buffer_?arrays with random integers, using a different random number generator seed for every process.
MPI_File_write_alloperations, one after another. Time the whole data transfer and print MB/s obtained on standard output.
read_buffer_?arrays and compare every entry with the corresponding entry in the
write_buffer_?arrays. Time the data transfer and print MB/s obtained on standard output.
MPI_DISTRIBUTE_CYCLICand compare the data transfer rates.