virtual action in pnetcdf

Jim Edwards jedwards at ucar.edu
Fri Jun 15 10:00:01 CDT 2018


You can also use the PIO <https://github.com/NCAR/ParallelIO> library to
make these settings runtime tuneable.

On Fri, Jun 15, 2018 at 8:55 AM, Latham, Robert J. <robl at mcs.anl.gov> wrote:

> On Fri, 2018-06-15 at 10:58 +0200, Patrick Marsaleix wrote:
> > Hello
> >
> > I use pnetcdf. In my program, all the cores perform the same
> > operations simultaneously, for example
> >
> > status=nfmpi_put_vara_real_all(ncid,varid,start,edge,anyvar3d)
> >
> > I wish now that some cores do not perform this operation (or
> > transforms it as a virtual operation), but in my program this results
> > in immobilizing the mpi process. Is there a way to do it?
>
> You have a few options.  Here are my suggestions in decending order of
> "goodness" (best idea first):
>
> - Every process in the communicator must call the routine, but not
> every process needs to contribute I/O.  The processes that you do not
> wish to do anything should pass an 'edge' array of all zeros.
>
> - Instead of COMM_WORLD, create a sub-communicator containing only the
> participating processes.
>
> - Wrap the call with begin_indep / end_indep -- you will likely see
> very poor performance, but it won't hang.
>
> ==rob
>



-- 
Jim Edwards

CESM Software Engineer
National Center for Atmospheric Research
Boulder, CO
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20180615/58bcaa9b/attachment.html>


More information about the parallel-netcdf mailing list