From owner-sc22wg5@open-std.org  Thu Jan 22 19:56:41 2009
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 E81A0CA5FE6; Thu, 22 Jan 2009 19:56:41 +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 D8CA4CA3439
	for <sc22wg5@open-std.org>; Thu, 22 Jan 2009 19:56:39 +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 n0MIuXEi009008
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK);
	Thu, 22 Jan 2009 12:56:33 -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 n0MIuWmO023897;
	Thu, 22 Jan 2009 12:56:32 -0600
Received: from mh-dhcp-172-31-16-180.us.cray.com ([172.31.16.180]) by CFEXFE01.us.cray.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959);
	 Thu, 22 Jan 2009 12:56:32 -0600
Message-ID: <4978C20F.2070207@cray.com>
Date: Thu, 22 Jan 2009 12:59:27 -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: mpi3-fortran@lists.mpi-forum.org, WG5 <sc22wg5@open-std.org>
Subject: Re: (j3.2006) (SC22WG5.3891) [MPI3 Fortran]  [ukfortran] [MPI3 Fortran]
 MPI non-blocking transfers
References: <Prayer.1.3.1.0901211104060.5654@hermes-2.csi.cam.ac.uk>	<20090122100652.C31E9CA3434@www2.open-std.org>	<4978A8A0.8090407@cray.com> <20090122175730.8BA1BCA3439@www2.open-std.org>
In-Reply-To: <20090122175730.8BA1BCA3439@www2.open-std.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 22 Jan 2009 18:56:32.0387 (UTC) FILETIME=[24287D30:01C97CC3]
X-Cray-VirusStatus: clean
Sender: owner-sc22wg5@open-std.org
Precedence: bulk



Aleksandar Donev wrote:
> On Thursday 22 January 2009 09:10, Bill Long wrote:
>
>   
>> If we use a different name, like
>> ASYNC_EXTERNAL, is there any difference between that and VOLATILE?  I
>> suspect not.
>>     
> Yes, I explained this a long time ago, many times, but we go in circles 
> again.
> For one thing, VOLATILE has some ill-defined semantics.
>   

Vendors seem to know what to do.  The VOLATILE concept is utterly 
trivial to implement.

> For two, VOLATILE disables all optimization. 

Only for statements that might involve references or definitions of a 
volatile variable.  The rest of the code can be optimized normally.  
Which is exactly what we need here.

> ASYNCHRONOUS only disables 
> code motion accross waits and certain argument associations (such as 
> more care with copy in/out). The rest of the code can be optimized as 
> usual. 

If that's the case, then there is a serious problem with ASYNCHRONOUS, 
as illustrated by Nick's examples.  In most places in a code, VOLATILE 
and ASYNCHRONOUS have exactly the same effect on optimization.  In fact, 
the simplest implementation of ASYNCHRONOUS that is semantically safe is 
to make is synonym for VOLATILE.

> Surely this is important for a high-performance library like 
> MPI.
>   

The high performance part of MPI occurs inside the library routines.  
That's unaffected by the declaration of the buffer outside.
>   
>> The other is that it incorrectly suggests that MPI calls
>> have something to do with I/O which is not the case (except for the
>> actual MPI I/O calls
>>     
> And I already explained this a long time ago, and even quoted you the 
> Wikipedia definition of I/O. But if you care not to listen, that is 
> fine, let's continue going in circles.
>   

I forgot that I was addressing more than the Fortran list.  I meant that 
MPI has nothing to do with the Fortran concept of I/O (not 
Wikipedia's).  When we're talking about a Fortran's asynchronous 
attribute, it seems reasonable to relate it to Fortran's concept of I/O.

Cheers,
Bill



> 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

            

