Title: Developing object-oriented parallel iterative methods

Authors: Chakib Ouarraui, David Kaeli

Addresses: Department of Electrical and Computer Engineering, Northeastern University, Boston, MA 02115, USA. ' Department of Electrical and Computer Engineering, Northeastern University, Boston, MA 02115, USA

Abstract: In this paper, we describe our work developing an object-oriented parallel toolkit on OO-MPI. We are developing a parallelised implementation of the multi-view tomography toolbox, an iterative solver for a range of tomography problems. The code is developed in object-oriented C++. The MVT toolbox is presently used by researchers in the field of tomography to solve linear and non-linear forward modelling problems. The performance of the toolbox is heavily dependent on the performance of a small number of classes present in the IML++ library. This paper describes our experience parallelising a sparse matrix algorithm provided in the IML++ object-oriented numerical library. This library comprises a number of iterative algorithms. In this work, we present a parallel version of BiCGSTAB algorithm and the block-ILU preconditioner. These two algorithms are implemented in C++ using OOMPI (object-oriented MPI), and run on a 32-node Beowulf cluster. These two routines are also fundamental to obtaining good performance when using the parallelised version of the MVT toolbox. We also demonstrate the importance of using threads to overlap communication and computation, as an effective path to obtain improved speedup.

Keywords: parallel computing; OOMPI; iterative methods; IML++; parallel programming; object-oriented programming; multi-view tomography toolbox; MVT toolbox; high performance computing.

DOI: 10.1504/IJHPCN.2004.007568

International Journal of High Performance Computing and Networking, 2004 Vol.1 No.1/2/3, pp.85 - 90

Published online: 05 Aug 2005 *

Full-text access for editors Full-text access for subscribers Purchase this article Comment on this article