Hello all, I have a very basic question regarding MPI communication.
In my Task, what i am doing is.. Comparing Scatterv and MPIO. 1) In scatterv, I scatter all the data to the other ranks and SCAN for the specific characters. MPI_Scatterv (chunk, send_counts, displacements, MPI_CHAR, copychunk, smallchunk_size, MPI_CHAR, 0, MPI_COMM_WORLD); & 2) On the other hand using MPIO, I have the data available in the shared memory and every rank searches in the specific chunk. MPI_File_open(MPI_COMM_WORLD, "170mb.txt", MPI_MODE_RDONLY, MPI_INFO_NULL, &in); here i assign every processor to search in a specific "chunk" My question is.. Why MPI_Scatterv using 1 processor takes more time then MPI_File_open? How does MPI sending and receiving takes place? I think using 1 processor does not include physical sending and receiving. Then why it consumes more clock? In the attachment you can observe the plots in which i performed some tests using both algorithms. Kindly explain briefly the mpi communication using 1 processor and multiple processors. Thanks in advance. Regards Hamid