OpenCoarrays project / Multi-image coarray support in GCC/gfortran 5
Jorge D'Elia
jdelia@intec.unl.edu.ar
Thu Aug 21 19:08:00 GMT 2014
Dear Tobias,
GOOD GOOD NEWS !!
Regards,
Jorge.
----- Mensaje original -----
> De: "Tobias Burnus" <burnus@net-b.de>
> Para: "gfortran" <fortran@gcc.gnu.org>
> Enviados: Jueves, 21 de Agosto 2014 15:14:09
> Asunto: OpenCoarrays project / Multi-image coarray support in GCC/gfortran 5
>
> ANNOUNCEMENT
>
> The work of Alessandro Fanfarillo (library) and Tobias Burnus (mostly
> compiler) has resulted in multi-image coarray support in GCC's Fortran
> compiler (gfortran) and in a set of libraries implementing the transport
> layer for coarray communication.
>
> The compiler work is part of the GCC 5 (previously known as 4.10),
> scheduled to be released in Spring 2015. The developer version (GCC
> trunk) is available as source code or as binary at least for x86/x86-64
> for Linux (nightly build), MinGW/MinGW-64 and MacPorts (snapshot). See
> https://gcc.gnu.org/wiki/GFortranBinaries
>
> For the transport-layer libraries, see http://opencoarrays.org and its
> forum/mailing list at https://groups.google.com/forum/#!forum/opencoarrays
>
> OpenCoarrays is an open-source software project for developing, porting,
> and tuning transport layers that support coarray Fortran compilers. The
> above web page includes a link to a public OpenCoarrays repository. The
> current version is considered experimental with limited documentation
> and build infrastructure. It does have extensive integration tests in
> benchmarks, scientific applications, and application kernels. The
> library is available under the three-clause BSD license.
>
> On the library side, the MPI version has the widest coverage of the
> coarray features; it is the easiest to install and use. It requires at
> least a standard MPI-2.0 implementation, an MPI-3.0 implementation is
> preferable. It also the most updated version and it is intended as
> default version for the coarray support in gfortran.
>
> OpenCoarrays provides two more libraries based on GASNet and ARMCI,
> respectively. The GASNet version is provided as an expert version.
> Currently, it is experimental and some of the coarray features provided
> by the MPI version are not implemented yet. The ARMCI version is a
> draft and it does not provide reliable communication support. Libraries
> using other transport layers might be added in the future.
>
> Support:
>
> Coarray support in the compiler: Full Fortran 2008 coarray support and
> support of all atomics intrinsics and the co_sum/co_min/co_max
> collectives proposed for inclusion in the Fortran 2015 standard (see
> latest draft Technical Specification
> TS18508,ftp://ftp.nag.co.uk/sc22wg5/N2001-N2050/N2007.pdf)
>
> However, the following of the Fortran 2008 revision is not yet working
> in the compiler:
> * Locking is unimplemented except for the working CRITICAL.
> * Coindexed access to allocatable and pointer components of coarrays is
> not implemented.
> * Coindexed array access to scalar components of coarrays will not work
> ("caf(:)[i]%scalar").
> * ASSOCIATE and SELECT TYPE won't work with nonallocatable coarray dummy
> arguments
> * Vector subscripts and numeric type conversion is implemented but
> untested - and, hence, probably will have some bugs
> See also https://gcc.gnu.org/wiki/Coarray
>
> For the implementation status of the library, see
> https://bitbucket.org/sourceryinstitute/opencoarrays/raw/master/STATUS
>
> Alessandro expects to present a paper at PGAS 2014, and a poster at
> ACMSRC at PACT 14 - and acknowledges the support as Google Summer of
> Code project, to CINECA, UCAR/NCAR and NERSC.
>
More information about the Fortran
mailing list