Implementation of parallel numerical algorithms using hierarchically tiled arrays

  • Authors:
  • Ganesh Bikshandi;Basilio B. Fraguela;Jia Guo;María J. Garzarán;Gheorghe Almási;José Moreira;David Padua

  • Affiliations:
  • Dept. of Computer Science, University of Illinois at Urbana-Champaign;Dept. de Electrónica e Sistemas, Universidade da Coruña, Spain;Dept. of Computer Science, University of Illinois at Urbana-Champaign;Dept. of Computer Science, University of Illinois at Urbana-Champaign;IBM Thomas J. Watson Research Center., Yorktown Heights, NY;IBM Thomas J. Watson Research Center., Yorktown Heights, NY;Dept. of Computer Science, University of Illinois at Urbana-Champaign

  • Venue:
  • LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper, we describe our experience in writing parallel numerical algorithms using Hierarchically Tiled Arrays (HTAs). HTAs are classes of objects that encapsulate parallelism. HTAs allow the construction of single-threaded parallel programs where a master process distributes tasks to be executed by a collection of servers holding the components (tiles) of the HTAs. The tiled and recursive nature of HTAs facilitates the development of algorithms with a high degree of parallelism as well as locality. We have implemented HTAs as a MATLABTM toolbox, overloading conventional operators and array functions such that HTA operations appear to the programmer as extensions of MATLABTM. We have successfully used it to write some widely used parallel numerical programs. The resulting programs are easier to understand and maintain than their MPI counterparts.