(j3.2006) [ukfortran] (SC22WG5.5059) WG5 vote on draft TS on further coarray features

Bill Long longb
Mon Aug 5 17:20:18 EDT 2013



On 8/5/13 3:46 PM, Van Snyder wrote:
> On Mon, 2013-08-05 at 11:06 -0500, Bill Long wrote:
>> Properly implemented coarrays should be very fast on the shared-memory
>> configuration of most desktops and small servers. Certainly better
>> than MPI which involves additional internal memory copies.  Assigning
>> an image to each core is not a requirement.  Indeed, assigning an
>> image to each SMP node, and using OpenMP within the node is quite
>> common.
>
> One of the selling points for coarrays at Tokyo, if not before, is that
> the implementation would decide, under the covers, whether to use
> something like MPI between nodes, or something like shmem between images
> on a single node.

That is still the case, though it is more like Shmem between nodes and 
some form of automatic local address remapping on node.  But that is all 
up to the implementation, invisible to the user.

The decision about how many images you want per node, and how many 
OpenMP threads per image is controlled by the program launch mechanism, 
as is the total number of images.  You could reasonably adjust this from 
system to system based on the node configuration.  You might also 
intentionally assign fewer images to a node in order to get more memory 
for each image.    These sorts of choices are the same ones that MPI 
users have been making for years, likely using the same or very similar 
program launchers.

>
> Are we now to tell users that was a mirage?
>
> If so, we need an additional intrinsic to inquire which images share a
> node.

This would be most useful for forming a TEAM composed of the images on 
the node.   In fact, Cray provides an extension  this_node() intrinsic 
that returns your node number. The value could be used as a team ID for 
forming such teams.

>
> Otherwise, the software isn't portable.
>

You would (should) write the code to be independent of the number of 
images or their placement.   If you don't, that is not the fault of the 
design.

Cheers,
Bill


-- 
Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101





More information about the J3 mailing list