I am trying to scatter data from the master process to the others using scatterv and my own datatype that maps out the blocks of data in memory.
The problem is that I dont know what unit size the function (scatterv) is using to measure displacements in. I assume that it is using the extent of the user-defined datatype, but I need
to specify the displacements in bytes.
For example, if I specify a displacement of 2 from the sendbuffer, does this mean 2 bytes
or 2*MPI_Type_size() or 2*MPI_Type_extent()? The man page isn't very clear on this.
I know that there is function MPI_Type_hindexed, that accepts displacements measured is bytes
when creating new datatypes.
Is there something similar for scatterv/gatherv?