|
ABSTRACT
The WG5 committee, at its meeting in Delft, May 2005, decided to include co-arrays in the next Fortran Standard. A special issue of Fortran Forum in August 1998 explained the feature, but since many of the details of the version adopted by WG5 differ from the 1998 version, it seems appropriate to describe it afresh in a self-contained article.A Fortran program containing co-arrays is interpreted as if it were replicated a fixed number of times and all copies were executed asynchronously. Each copy has its own set of data objects and is called an image. The array syntax of Fortran is extended with additional trailing subscripts in square brackets to give a clear and straightforward representation of access to data on other images.References without square brackets are to local data, so code that can run independently is uncluttered. Only where there are square brackets, or where there is a procedure call and the procedure contains square brackets, is communication between images involved.The additional syntax requires support in the compiler, but it has been designed to be easy to implement and to give the compiler scope both to apply its optimizations within each image and to optimize the communication between images.The extension includes intrinsic procedures to synchronize images, to return the number of images, to return the index of the current image, and to perform collective actions.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Coarfa, C., Dotsenko, Y., and Mellor-Crummey, J. (2004). Experiences with Sweep3D implementations in Co-Array Fortran. In Proceedings of the Los Alamos Computer Science Institute 5th Annual Symposium (LACSI, 2004), Santa Fe, USA.
|
| |
2
|
|
| |
3
|
Dotsenko, Y., Coarfa, C., Mellor-Crummey, J., and Chavarri a-Miranda, D. (2004). Experiences with Co-Array Fortran on hardware shared memory platforms. In Proceedings of the 17th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2004), West Lafayette, Indiana, USA.
|
| |
4
|
|
| |
5
|
Numrich, R. W. (1997). F-- : A parallel extension to Cray Fortran. Scientific Programming 6, 275--284.
|
| |
6
|
Numrich, R. W. (2005). Parallel numerical algorithms based on tensor notation and Co-Array Fortran syntax.
|
| |
7
|
14.Parallel Computing, in press.
|
| |
8
|
Numrich, R. W. and Reid, J. K. (1998). Co-Array Fortran for parallel programming. ACM Fortran Forum (1998), 17, 2 (Special Report) and Rutherford Appleton Laboratory report RAL-TR-1998-060 available as ftp://ftp.numerical.rl.ac.uk/pub/reports/nrRAL98060.pdf
|
| |
9
|
|
| |
10
|
Numrich, R. W. and Steidel, J. L. (1997). F-- : A simple parallel extension to Fortran 90. SIAM News, 30, 7, 1--8.
|
| |
11
|
Reid, J. K. (2005). Co-array Fortran for parallel programming. ISO/IEC/JTC1/SC22/WG5-N1626, requirement UK-001, see ftp://ftp.nag.co.uk/sc22wg5/N1601-N1650/N1626.txt
|
| |
12
|
WG5 (2005). Revision of Requirement UK-001. ISO/IEC/JTC1/SC22/WG5-N1639, see ftp://ftp.nag.co.uk/sc22wg5/N1601-N1650/N1639.txt
|
|