Sciweavers

SCP
2011

DESOLA: An active linear algebra library using delayed evaluation and runtime code generation

13 years 6 months ago
DESOLA: An active linear algebra library using delayed evaluation and runtime code generation
Active libraries can be defined as libraries which play an active part in the compilation, in particular, the optimisation of their client code. This paper explores the implementation of an active dense linear algebra library by delaying evaluation of expressions built using library calls, then generating code at runtime for the compositions that occur. The key optimisations in this context are loop fusion and array contraction. Our prototype C++ implementation, DESOLA, automatically fuses loops arising from different client calls, identifies unnecessary intermediate temporaries, and contracts temporary arrays to scalars. Performance is evaluated using a benchmark suite of linear solvers from ITL (Iterative Template Library), and is compared with MTL (Matrix Template Library), ATLAS (Automatically Tuned Linear Algebra) and IMKL (Intel Math Kernel Library). Excluding runtime compilation overheads (caching means they occur only on the first iteration), for larger matrix sizes, perfo...
Francis P. Russell, Michael R. Mellor, Paul H. J.
Added 15 May 2011
Updated 15 May 2011
Type Journal
Year 2011
Where SCP
Authors Francis P. Russell, Michael R. Mellor, Paul H. J. Kelly, Olav Beckmann
Comments (0)