On Fri, Dec 13, 2013 at 07:02:47PM -0600, Rajeev Thakur wrote:
You can create a contiguous datatype of size 1GB and then send 1G items of that size :-).
... as long as you are running a very recent MPICH, such as a clone from git or one of the pre-releaseses. 3.0.4 is *not* new enough. Until my "large count / large datatype" stuff went in a couple months ago, this much-advertised approach would give MPICH headaches. ==rob
On Dec 13, 2013, at 5:18 PM, Huiwei Lu <[email protected]> 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.
-- Rob Latham Mathematics and Computer Science Division Argonne National Lab, IL USA