MPI provides so-called "large count" operations. These functions have a _c suffix and take a 64-bit length argument. For example, the equivalent to MPI_Send is MPI_Send_c.
MPI.jl provides low-level wrappers for these. For example, a call to MPI.MPI_Send_c should work. Unfortunately, the higher level routines to not wrap this interface yet.
I should be straightforward to use these large-count functions automatically in MPI.jl. There might be MPI implementations around which do not yet support the large-count operations, and thus there probably needs to be some kind of configuration magic that checks whether they are available, but otherwise I should think that using them all the time (if available, and if Julia is running on a 64-bit system) is the way to go.
Happy to discuss more!
MPI provides so-called "large count" operations. These functions have a
_csuffix and take a 64-bit length argument. For example, the equivalent toMPI_SendisMPI_Send_c.MPI.jlprovides low-level wrappers for these. For example, a call toMPI.MPI_Send_cshould work. Unfortunately, the higher level routines to not wrap this interface yet.I should be straightforward to use these large-count functions automatically in MPI.jl. There might be MPI implementations around which do not yet support the large-count operations, and thus there probably needs to be some kind of configuration magic that checks whether they are available, but otherwise I should think that using them all the time (if available, and if Julia is running on a 64-bit system) is the way to go.
Happy to discuss more!