(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