Skip to main content

Co-array Fortran for Full and Sparse Matrices

  • Conference paper
  • First Online:
Applied Parallel Computing (PARA 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2367))

Included in the following conference series:

Abstract

Co-array Fortran (Numrich and Reid 1998), abbreviated to CAF, is an extension of Fortran 90/95 for parallel programming that has been designed to be easy both for the compiler writer to implement and for the programmer to write and understand. It offers the prospect of clear and efficient parallel programming on homogeneous parallel systems.

Each processor has an identical copy of the program and has its own data objects.

Each co-array is evenly spread over all the processors with each processor having a part of exactly the same shape. The language is carefully designed so that implementations will usually use the same address on each processor for the processor’s part of the co-array. Subscripts in round brackets are used in the usual way to address the local part and subscripts in square brackets are used to address parts on other processors.

References without square brackets are to local data, so code that can run independently is uncluttered. Only where there is are square brackets, or a procedure call to code that involves square brackets, is there communication between processors.

There are intrinsic procedures to synchronize processors, return the number of processors, and return the index of the current processor.

A subset of Co-Array Fortran is available on the T3E and the aim of this talk is to explain how it can be used effectively for computations on both full and sparse matrices. In particular, we show how the LINPACK benchmark can be written in this language and compare its performance with that of ScaLAPACK (Blackford et al. 1997), paying particular attention to the solution of a single set of equations. For sparse systems, we consider the use of CAF for frontal and multifrontal methods.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Blackford, L. S., Choi, J., Cleary, A., D’Azevedo, E., Demmel, J., Dhillon, I., Dongarra, J., Hammarling, S., Henry, G., Petitet, A., Stanley, K., Walker, D. and Whaley, R. (1997). ScaLAPACK users’ guide. SIAM, Philadelphia.

    Book  MATH  Google Scholar 

  2. Numrich, R. W. and Reid, J. K. (1998), Co-Array Fortran for parallel programming, ACM Fortran Forum 17,2, 1–31.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Reid, J. (2002). Co-array Fortran for Full and Sparse Matrices. In: Fagerholm, J., Haataja, J., Järvinen, J., Lyly, M., Råback, P., Savolainen, V. (eds) Applied Parallel Computing. PARA 2002. Lecture Notes in Computer Science, vol 2367. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48051-X_7

Download citation

  • DOI: https://doi.org/10.1007/3-540-48051-X_7

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43786-4

  • Online ISBN: 978-3-540-48051-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics