Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a patch to ROMIO to print the number of calls to memcpy()
This is to show the excessive number of calls to memcpy() in macro ADIOI_BUF_COPY of subroutine ADIOI_Fill_send_buffer() in file mpich/src/mpi/romio/adio/common/ad_write_coll.c Run pio_noncontig with the following commands and compare. % mpiexec -n 16 pio_noncontig -k 256 -c 32768 -w Number of global variables = 64 Each global variable is of size 256 x 32768 bytes Each local variable is of size 256 x 16 bytes Gap between the first 2 variables is of size 16 bytes Number of subarray types concatenated is 8192 Each process makes a request of amount 33554688 bytes ROMIO hint set: cb_buffer_size = 1048576 ROMIO hint set: cb_nodes = 4 rank 0: ADIOI_GEN_WriteStridedColl number of memcpy called = 2097153 rank 1: ADIOI_GEN_WriteStridedColl number of memcpy called = 2097153 rank 2: ADIOI_GEN_WriteStridedColl number of memcpy called = 2097153 rank 3: ADIOI_GEN_WriteStridedColl number of memcpy called = 2097153 --------------------------------------------------------- Time of collective write = 30.83 sec --------------------------------------------------------- % mpiexec -n 16 pio_noncontig -k 256 -c 32768 -w -g 0 Number of global variables = 64 Each global variable is of size 256 x 32768 bytes Each local variable is of size 256 x 16 bytes Gap between the first 2 variables is of size 0 bytes Number of subarray types concatenated is 8192 Each process makes a request of amount 33554688 bytes ROMIO hint set: cb_buffer_size = 1048576 ROMIO hint set: cb_nodes = 4 rank 0: ADIOI_GEN_WriteStridedColl number of memcpy called = 0 rank 1: ADIOI_GEN_WriteStridedColl number of memcpy called = 0 rank 2: ADIOI_GEN_WriteStridedColl number of memcpy called = 0 rank 3: ADIOI_GEN_WriteStridedColl number of memcpy called = 0 --------------------------------------------------------- Time of collective write = 9.27 sec ---------------------------------------------------------
- Loading branch information