[mpich-devel] MPI_Pack/MPI_Unpack/MPI_Pack_size and large datatypes

Rob Latham robl at mcs.anl.gov
Fri Oct 18 20:22:15 CDT 2013


On Fri, Oct 18, 2013 at 08:17:56PM -0500, Jeff Hammond wrote:
> Let's just deprecate Pack functions instead of fixing them.  That's what we did for C++ :-)
> 
> But seriously, does anyone use Pack functions?

They are the most straightforward way to deal with datatypes.
parallel-netcdf uses pack/unpack .

==rob

> Jeff
> 
> ----- Original Message -----
> > From: "Rob Latham" <robl at mcs.anl.gov>
> > To: devel at mpich.org
> > Sent: Friday, October 18, 2013 8:15:42 PM
> > Subject: Re: [mpich-devel] MPI_Pack/MPI_Unpack/MPI_Pack_size and large datatypes
> > 
> > On Fri, Oct 18, 2013 at 04:44:32PM -0500, Pavan Balaji wrote:
> > > Hi Rob,
> > > 
> > > I totally agree with adding this into MPICH.
> > > 
> > > However, with respect to the MPI standard, can one not implement
> > > MPIX_Pack_x on top of current MPI-3 using appropriate datatype
> > > creation?
> > 
> > It'd have to be "next to" or "inside", but not "on top of".  The
> > usual
> > trick of "just describe big type with a smaller number of CONTIGs
> > won't work:
> > 
> > MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype,
> >         void * outbuf, int outcount int *position);
> > 
> > We're ok on inputs: a normal buf, count, datatype tuple.
> > 
> > How do you work around the output, though?  outcount is a count of
> > bytes, not a count of datatypes.  Position is a plain old pointer to
> > memory.
> > 
> > ==rob
> > 
> > --
> > Rob Latham
> > Mathematics and Computer Science Division
> > Argonne National Lab, IL USA
> > 
> 

-- 
Rob Latham
Mathematics and Computer Science Division
Argonne National Lab, IL USA


More information about the devel mailing list