virtual action in pnetcdf

Patrick Marsaleix pjp.marsaleix at gmail.com
Fri Jun 15 10:13:44 CDT 2018


Thank you very much to both of you for your quick answers and tips. I will
start by trying the first suggestion ('edge' with null values)
Patrick

2018-06-15 17:00 GMT+02:00 Jim Edwards <jedwards at ucar.edu>:

> 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
>



-- 
*Patrick Marsaleix*
συμφωνία
協議
m[°L°]m
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20180615/3a37cc34/attachment.html>


More information about the parallel-netcdf mailing list