Skip to content

Fortran 2018 teams & Fortran 2008 allocatable/pointer components of derived-type coarrays

Compare
Choose a tag to compare
@rouson rouson released this 09 Mar 17:06
2.0.0
bc97a3b

Github Releases (by Asset) Build Status license Twitter URL

This 2.0.0 release contains

  • New or improved features:
    • Fortran 2018 teams ⚽
    • Fortran 2008 allocatable & pointer components of derived-type coarrays 🏹
    • Fortran 2018 QUIET specifier in STOP and ERROR STOP statements 🛑
  • Bug fixes 🔧
  • Documentation improvements 📖
  • Build system improvements 👷‍♀️ 🏗️
  • Test suite improvements

Fortran 2018 teams

As described in the Fortran 2018 Draft International Standard, teams are sets of images that readily execute independently of other sets of images. This ability to decouple sets of images is expected to become increasingly important as applications scale to large numbers of parallel execution units, e.g., on many tens or hundreds of thousands of cores. In a future release, teams will also play a role in supporting the fault tolerance that is expected to be required of exascale applications wherein teams may be used to cordon off failed images from non-failed ones. GFortran and OpenCoarrays already support failed images, but do not yet support the use of teams in the presence of failed images. For short code examples of the teams support in OpenCoarrays, see Rouson, McCreight, and Fanfarillo, 2018.

N.B.:
Teams requires the use of GFortran 8.x, currently under development and is not accessible from OpenCoarrays built against GFortran versions ≤ 7.x.

Fortran 2008 allocatable & pointer components

Among other uses, allocatable and pointer components in derived-type coarrays provide for asymmetric allocations of memory across images, thereby facilitating much greater flexibility and sophistication in designing data structures and communicating data of varying size and shape. Experimental support for this capability in OpenCoarrays has been more complete if built with GCC 6. This release fixes several regressions that previously prevented most uses of this feature with GCC 7.

Documentation improvements

The installation documentation has been streamlined. The previous INSTALL.md file has been condensed and a new INSTALL text file provides canonical CMake directions for experienced developers.

GPG key expiry extended

N.B.:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

If you wish to verify the GnuPG signature of the cryptographic checksum, which we sign
with key

fingerprint: 1DB1 B5ED E321 22B2 8E56  810D CB21 118C 92A6 4702
long key id: 0xCB21118C92A64702

you may need to refresh the public key from the key servers; The key(s) we use to sign
releases had been set to expire on Saturday 17 February 2018 and have recently been
updated with a new expiry date in 2020. You can fetch updates from the command line
with `gpg --refresh-keys` or using your GPG key manager interface, such as GPG Tools
for macOS.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEqUSJ2TjLk2Zo+QkRqTznDYAhvQ8FAlqiuQcACgkQqTznDYAh
vQ+mlQ//bIcFYxweXMfN1C1OYaYZM+M0q0MuQomjrZkhv6EqDvEIIsCWRBT9mCgd
OCfN1IeKIuocowW6ueH/js/b6Bni36Q4++TiLasrctxiceC4mfxt08MgOD0b2k0n
sDft0jbzyL2lWu1zl7wQWYQb9f2LXGfO6v1TTUmEBz3QiPCKMWRSQiwozzxwc9nh
dphUUMMHnobl5L4awvNOMKapRsTALBHZ+6ypqcjMjQuc6tdkxzVG4snTXDPaT271
l/vm+QDyRRVWZg34O2txtbkuuuI91p+xHKAb05xTZS3764K16ixQs/dZipS9l288
SU9ISzGcx1iHtRX2Z+ZG1C3l7t/T2Sr6eWJKQ6DyTdsmBreB1y7MndMK4FZkajH1
Tblv4LSAHLIUsYJ+VCtu5T7o+Lycb3U1FmSatPThYms4zW1hebwEsYpbxM0csqci
itsedrCdNQVwjhOGkNoWNAwbwE3jJRuXDGwCBxPMHtdBrZpeeCYGSgzzityOOVE7
fiI+XRWvibcaFB7idR9qMm1TLhxwUcwajdw/y9bhG2YT16zQLaXM9lES2bQYSFMC
29s2cH9QIguk/++GXP3w9jW2zITx2AvTT5XDUMQeHCIfRPvBDicNXRv5RH7tOlF7
2LmgYAfCXkRAwNvk1txIWKfVvDZvM9FUQkwAH1niFwpKuXRlu3E=
=67fw
-----END PGP SIGNATURE-----

Installation

Please see the installation instructions for more details on how to build and install this version of OpenCoarrays


GitHub forks GitHub stars GitHub watchers Twitter URL