Back to Search Start Over

LAW: A Tool for Improved Productivity with High-Performance Linear Algebra Codes. Design and Applications

Authors :
Stitt, Timothy
Kells, Graham
Vala, Jiri
Publication Year :
2007

Abstract

LAPACK and ScaLAPACK are arguably the defacto standard libraries among the scientific community for solving linear algebra problems on sequential, shared-memory and distributed-memory architectures. While ease of use was a major design goal for the ScaLAPACK project; with respect to its predecessor LAPACK; it is still a non-trivial exercise to develop a new code or modify an existing LAPACK code to exploit processor grids, distributed-array descriptors and the associated distributed-memory ScaLAPACK/PBLAS routines. In this paper, we introduce what we believe will be an invaluable development tool for the scientific code developer, which exploits ad-hoc polymorphism, derived-types, optional arguments, overloaded operators and conditional compilation in Fortran 95, to provide wrappers to a subset of common linear algebra kernels. These wrappers are introduced to facilitate the abstraction of low-level details which are irrelevant to the science being performed, such as target platform and execution model. By exploiting this high-level library interface, only a single code source is required with mapping onto a diverse range of execution models performed at link-time with no user modification. We conclude with a case study whereby we describe application of the LAW library in the implementation of the well-known Chebyshev Matrix Exponentiation algorithm for Hermitian matrices.<br />Comment: 39 pages, 4 figures. To be submitted to Computer Physics Communications Journal

Subjects

Subjects :
Physics - Computational Physics

Details

Database :
arXiv
Publication Type :
Report
Accession number :
edsarx.0710.4896
Document Type :
Working Paper