Lecture Notes in Computer Science, 1999, Volume 1685/1999, 1385-1392, DOI: 10.1007/3-540-48311-X_194

Object Oriented Design for Reusable Parallel Linear Algebra Software

Eric Noulard and Nahid Emad

View Related Documents

Abstract

Maintaining and reusing parallel numerical applications is not an easy task. We propose an OO design which enables very good code reuse for both sequential and parallel linear algebra applications. A linear algebra class library called LAKe is implemented using our design method. We show how the same code is used to implement both the sequential and the parallel version of the iterative methods implemented in LAKe. We show that polymorphism is insufficient to achieve our goal and that both genericity and polymorphism are needed. We propose a new design pattern as a part of the solution. Some numerical experiments validate our approach and show that efficiency is not sacrified.

Keywords  OO design - parallel code reuse - Krylov methods

Fulltext Preview

Image of the first page of the fulltext document