Title of article :
DESOLA: An active linear algebra library using delayed evaluation and runtime code generation
Author/Authors :
Francis P. Russell، نويسنده , , Michael R. Mellor، نويسنده , , Paul H.J. Kelly and Chris Hankin ، نويسنده , , Olav Beckmann، نويسنده ,
Issue Information :
ماهنامه با شماره پیاپی سال 2011
Pages :
16
From page :
227
To page :
242
Abstract :
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, performance matches or exceeds MTL; when fusion of matrix operations occurs, performance exceeds that of ATLAS and IMKL
Keywords :
Runtime code generation , Delayed evaluation , Active libraries , Numerical libraries
Journal title :
Science of Computer Programming
Serial Year :
2011
Journal title :
Science of Computer Programming
Record number :
1080177
Link To Document :
بازگشت