A parallel numerical solver using hierarchically tiled arrays

James C. Brodman, G. Carl Evans, Murat Manguoglu, Ahmed Sameh, María J. Garzarán, David Padua

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Solving linear systems is an important problem for scientific computing. Exploiting parallelism is essential for solving complex systems, and this traditionally involves writing parallel algorithms on top of a library such as MPI. The SPIKE family of algorithms is one well-known example of a parallel solver for linear systems. The Hierarchically Tiled Array data type extends traditional data-parallel array operations with explicit tiling and allows programmers to directly manipulate tiles. The tiles of the HTA data type map naturally to the block nature of many numeric computations, including the SPIKE family of algorithms. The higher level of abstraction of the HTA enables the same program to be portable across different platforms. Current implementations target both shared-memory and distributed-memory models. In this paper we present a proof-of-concept for portable linear solvers. We implement two algorithms from the SPIKE family using the HTA library. We show that our implementations of SPIKE exploit the abstractions provided by the HTA to produce a compact, clean code that can run on both shared-memory and distributed-memory models without modification. We discuss how we map the algorithms to HTA programs as well as examine their performance. We compare the performance of our HTA codes to comparable codes written in MPI as well as current state-of-the-art linear algebra routines.

Original languageEnglish (US)
Title of host publicationLanguages and Compilers for Parallel Computing - 23rd International Workshop, LCPC 2010, Revised Selected Papers
Pages46-61
Number of pages16
DOIs
StatePublished - Mar 18 2011
Event23rd International Workshop on Languages and Compilers for Parallel Computing, LCPC 2010 - Houston, TX, United States
Duration: Oct 7 2010Oct 9 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6548 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other23rd International Workshop on Languages and Compilers for Parallel Computing, LCPC 2010
CountryUnited States
CityHouston, TX
Period10/7/1010/9/10

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'A parallel numerical solver using hierarchically tiled arrays'. Together they form a unique fingerprint.

  • Cite this

    Brodman, J. C., Evans, G. C., Manguoglu, M., Sameh, A., Garzarán, M. J., & Padua, D. (2011). A parallel numerical solver using hierarchically tiled arrays. In Languages and Compilers for Parallel Computing - 23rd International Workshop, LCPC 2010, Revised Selected Papers (pp. 46-61). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 6548 LNCS). https://doi.org/10.1007/978-3-642-19595-2_4