Implementation of Parallel Numerical Algorithms Using Hierarchically Tiled Arrays
Author(s) -
Ganesh Bikshandi,
Basilio B. Fraguela,
Jia Guo,
María Jesús Garzarán,
Gheorghe Almási,
José E. Moreira,
David Padua
Publication year - 2005
Publication title -
lecture notes in computer science
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.249
H-Index - 400
eISSN - 1611-3349
pISSN - 0302-9743
ISBN - 3-540-28009-X
DOI - 10.1007/11532378_8
Subject(s) - computer science , parallel computing , programmer , parallelism (grammar) , locality , data parallelism , toolbox , parallel algorithm , process (computing) , programming language , philosophy , linguistics
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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom