[mpich-discuss] The max amount of data each process can send in MPI_Alltoallv
huiweilu at mcs.anl.gov
Sun Dec 15 18:49:25 CST 2013
Thank you for your tips, Rajeev, Jeff and JT,
I used Rajeev’s suggestion to send about 4GB data (100M items) per process, and it works fine.
@JT, yes, if the data continue to grow and there is no proper way to do it in MPI type, I will have to partition the buffer to smaller trunks.
Thanks again for your help.
On Dec 13, 2013, at 7:02 PM, Rajeev Thakur <thakur at mcs.anl.gov> wrote:
> You can create a contiguous datatype of size 1GB and then send 1G items of that size :-).
> On Dec 13, 2013, at 5:18 PM, Huiwei Lu <huiweilu at mcs.anl.gov> wrote:
>> Hi, folks,
>> What’s the max amount of data each process can send in MPI_Alltoallv? http://www.mcs.anl.gov/research/projects/mpi/www/www3/MPI_Alltoallv.html
>> As I understand, the input parameter of sendcnts is an array of int, so the amount of data each process can send is limited to MAX_INT (approximately 2G).
>> What if I want to use MPI_Alltoallv-like MPI routines to send a buffer of data that exceeds 2GB? Does it need to cut the data buffers to smaller sizes? Is there an easy way to do this? The reason I am asking is one of my distributed sort algorithm uses MPI_Alltoallv to distribute data after partitioning; it crashed when I tried to send in each process more than 2GB data.
>> Huiwei Lu
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
More information about the discuss