A Rational Approach to Portable High Performance: The Basic Linear Algebra Instruction Set (BLAIS) and the Fixed Algorithm Size Template (FAST) Library

作者: Jeremy G. Siek , Andrew Lumsdaine

DOI: 10.1007/3-540-49255-0_153

关键词:

摘要: We introduce the Basic Linear Algebra Instruction Set (BLAIS), a collection of high performance kernels for basic linear algebra that encapsulate small fixed size computations to provide building blocks numerical libraries in C++. The computation sizes are template parameters kernels, so they can be easily configured specific architecture portability. In this way BLAIS delivers power such code generation systems as PHiPAC [1] and ATLAS [4]. has simple elegant interface, one write flexible-sized block algorithms without complications system. implemented using Fixed Algorithm Size Template (FAST) Library which provides equivalent functionality Standard (STL) [3], but tailored specifically (and high-performance) operations.

参考文章(4)
Meng Lee, Alexander Stepanov, The Standard Template Library ,(1998)
Jeremy G. Siek, Andrew Lumsdaine, The Matrix Template Library: A Unifying Framework for Numerical Linear Algebra european conference on object-oriented programming. pp. 466- 467 ,(1998) , 10.1007/3-540-49255-0_152
Jeff Bilmes, Krste Asanovic, Chee-Whye Chin, Jim Demmel, Optimizing matrix multiply using PHiPAC: a portable, high-performance, ANSI C coding methodology international conference on supercomputing. pp. 253- 260 ,(1997) , 10.1145/2591635.2667174
Todd Veldhuizen, Using C++ template metaprograms C++ gems. pp. 459- 473 ,(1996)