Fortran 2018 teams & Fortran 2008 allocatable components of derived-type coarrays
Pre-releaseThis 2.0.0 release candidate contains
- New or improved features:
- Fortran 2018 teams
- Fortran 2008 allocatable/pointer components of derived-type coarrays
- Bug fixes
- Documentation improvements
- Build system improvements
- Test suite improvements
Fortran 2018 teams
As described in Technical Specification 18508, 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 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.
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.
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays