From owner-sc22wg5@open-std.org  Thu Dec  4 22:36:36 2008
Return-Path: <owner-sc22wg5@open-std.org>
X-Original-To: sc22wg5-dom7
Delivered-To: sc22wg5-dom7@www2.open-std.org
Received: by www2.open-std.org (Postfix, from userid 521)
	id 270F4C56CFA; Thu,  4 Dec 2008 22:36:36 +0100 (CET)
X-Original-To: sc22wg5@open-std.org
Delivered-To: sc22wg5@open-std.org
Received: from mail1.cray.com (mail1.cray.com [136.162.0.111])
	by www2.open-std.org (Postfix) with ESMTP id 0AE0AC56CF8
	for <sc22wg5@open-std.org>; Thu,  4 Dec 2008 22:36:27 +0100 (CET)
Received: from beaver.us.cray.com (beaver.us.cray.com [172.30.74.51])
	by mail1.cray.com (8.13.6/8.13.3/gw-5323) with ESMTP id mB4LaP1w025791
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 4 Dec 2008 15:36:26 -0600 (CST)
Received: from CFEXFE01.us.cray.com (cfexfe01.us.cray.com [172.30.74.93])
	by beaver.us.cray.com (8.13.8/8.13.3/hub-5273) with ESMTP id mB4LaOTr027465;
	Thu, 4 Dec 2008 15:36:24 -0600
Received: from mh-dhcp-172-31-16-160.us.cray.com ([172.31.16.160]) by CFEXFE01.us.cray.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959);
	 Thu, 4 Dec 2008 15:36:24 -0600
Message-ID: <49384DD8.9000104@cray.com>
Date: Thu, 04 Dec 2008 15:38:32 -0600
From: Bill Long <longb@cray.com>
Reply-To: longb@cray.com
Organization: Cray Inc.
User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031)
MIME-Version: 1.0
To: fortran standards email list for J3 <j3@j3-fortran.org>
Cc: WG5 <sc22wg5@open-std.org>
Subject: Re: (j3.2006) (SC22WG5.3732) Nick's MPI non-blocking proposal
References: <200812031523.23143.donev1@llnl.gov> <20081204045036.63332C56CF8@www2.open-std.org>
In-Reply-To: <20081204045036.63332C56CF8@www2.open-std.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 04 Dec 2008 21:36:24.0517 (UTC) FILETIME=[5B459F50:01C95658]
X-Cray-VirusStatus: clean
Sender: owner-sc22wg5@open-std.org
Precedence: bulk



Aleksandar Donev wrote:
> Hello,
>
> I am going to go out of line and actually give a positive review of 
> Nick's proposal :-) I like the basic design, 

Actually, I find it massively confusing.  It seems to be focused on I/O, 
which is only a small corner of MPI.  The basic send / receive routines 
have nothing to do with I/O, and yet those are the ones we should be 
concerned with.  The issue is argument passing semantics, not I/O.  In 
particular, we need to avoid copy-in and copy-out for specific arguments.

It would seem like a simple attribute for the "buffer" dummy argument, 
perhaps "STATIC", would  be much simpler, and easier to understand.  The 
idea of a subroutine call effectively setting attributes for its 
arguments in the caller's scope is highly unusual.  And it is unsafe in 
that it is subject to circumvention by EXTERNAL statements.

Cheers,
Bill



> 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
> _______________________________________________
> J3 mailing list
> J3@j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3
>   

-- 
Bill Long                                   longb@cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120

            

