[mpich-discuss] The max amount of data each process can send in MPI_Alltoallv

Huiwei Lu 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.

—
Huiwei

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.
>> 
>> Thanks.
>> --
>> Huiwei Lu
>> http://www.mcs.anl.gov/~huiweilu/
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
> 
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss




More information about the discuss mailing list