Skip to main navigation Skip to search Skip to main content

Vienna-Fortran/HPF extensions for sparse and irregular problems and their compilation

  • Manuel Ujaldon
  • , Emilio L. Zapata
  • , Barbara M. Chapman
  • , Hans P. Zima
  • University of Málaga
  • IEEE
  • University of Vienna

Research output: Contribution to journalArticlepeer-review

47 Scopus citations

Abstract

Vienna Fortran, High Performance Fortran (HPF), and other data parallel languages have been introduced to allow the programming of massively parallel distributed-memory machines (DMMP) at a relatively high level of abstraction, based on the SPMD paradigm. Their main features include directives to express the distribution of data and computations across the processors of a machine. In this paper, we use Vienna-Fortran as a general framework for dealing with sparse data structures. We describe new methods for the representation and distribution of such data on DMMPs, and propose simple language features that permit the user to characterize a matrix as sparse and specify the associated representation. Together with the data distribution for the matrix, this enables the compiler and runtime system to translate sequential sparse code into explicitly parallel message-passing code. We develop new compilation and runtime techniques, which focus on achieving storage economy and reducing communication overhead in the target program. The overall result is a powerful mechanism for dealing efficiently with sparse matrices in data parallel languages and their compilers for DMMPs.

Original languageEnglish
Pages (from-to)1068-1083
Number of pages16
JournalIEEE Transactions on Parallel and Distributed Systems
Volume8
Issue number10
DOIs
StatePublished - 1997

Keywords

  • Data-parallel language and compiler
  • Distributed-memory machines
  • Runtime support
  • Sparse computation

Fingerprint

Dive into the research topics of 'Vienna-Fortran/HPF extensions for sparse and irregular problems and their compilation'. Together they form a unique fingerprint.

Cite this