Abstract

We propose an object-oriented 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 introduce a new reuse mechanism called matrix shape which enables us to derive the implementation of both the sequential and the parallel version of the iterative methods of Linear Algebra Kernels (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 sacrificed.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call