(j3.2006) (SC22WG5.3732) Nick's MPI non-blocking proposal
Aleksandar Donev
donev1 at llnl.gov
Wed Dec 3 23:50:33 EST 2008
Hello,
I am going to go out of line and actually give a positive review of
Nick's proposal :-) I like the basic design, which I have advocated as
well (asynchronous attribute for non-blocking two-sided transfer, and
volatile for one-sided target windows). It is similar to my own proposal
except that it does not use SYNC MEMORY but proposes two new intrinsics
(this sounds like a good idea).
> SET_PENDING (ID, INPUT, A1, [A2, ...])
> SET_PENDING shall be called on an affector before the mechanism
> external to Fortran initiates the asynchronous I/O.
OK from Fortran.
> If that is too horrible, and I think that it is, then the C interface
> would need to specify the number of arguments that make up the
> affector.
Can you please explain why it is needed to call this from C, and what
that would mean in terms of implementation? I see how it tells the
Fortran compiler that asynch I/O starts/ends so it knows when to flush
buffers/registers/etc., but what would it mean to C??? An example would
be great.
> A Fortran processor need not do anything other
> than define ID to be a suitable value in SET_PENDING if it does
> not need that information.
I missed one thing: What is a "suitable value", i.e., are there
constraints on the values (e.g., they have to be distinct from other
pending states or what?).
Best,
Aleks
More information about the J3
mailing list