vix.ing · top · new · best · stats · spec

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

2007/10/25 by Timothy Stitt, Stitt, Timothy, Graham Kells +3
Computer Science · #Advanced Data Storage Technologies #Computational Physics (physics.comp-ph) #FOS: Physical sciences #Numerical Methods and Algorithms #Parallel Computing and Optimization Techniques

paper · pdf · doi:10.48550/arxiv.0710.4896

openalex publication_date 2007/10/25 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

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.

Related