Advanced expression templates programming

被引:5
作者
Haerdtlein, J. [1 ]
Pflaum, C. [1 ]
Linke, A. [2 ]
Wolters, C. H. [3 ]
机构
[1] Univ Erlangen Nurnberg, Dept Comp Sci 10, Cauerstr 6, D-91058 Erlangen, Germany
[2] Weierstrass Inst Appl Anal & Stochast, D-10117 Berlin, Germany
[3] Univ Munster, Inst Biomagnetism & Biosignalanal, D-48149 Munster, Germany
关键词
17;
D O I
10.1007/s00791-009-0128-2
中图分类号
O1 [数学];
学科分类号
0701 ; 070101 ;
摘要
Expression Templates (ET) are a powerful tool for development of user-friendly numerical libraries. By this concept and by operator overloading in C++, numerical algorithms can be implemented in a mathematical notation without decreasing the performance in comparison to optimized C or FORTRAN codes. In this paper, we present new Expression Template techniques. First, we explain the concept of "Easy Expression Templates", which are easier to implement than classical ET. Then, we explain "Fast Expression Templates". This concept leads to an optimal performance even on special architectures like vector machines. Furthermore, concepts for storing expressions and code optimizing are presented. In order to verify the usability of these programming techniques in real applications, we discuss a template library which calculates local stiffness matrices arising from Finite Element discretizations.
引用
收藏
页码:59 / 68
页数:10
相关论文
共 16 条
[1]  
Basetti F., 1997, CRPCTR97705S
[2]  
Ciarlet P. G., 2002, FINITE ELEMENT METHO, V40
[3]  
Haney S., 1998, DR DOBBS J SOFTW TOO, V24, P94
[4]  
Haney S., 1998, DR DOBBS J SOFTW TOO, V24, P90
[5]  
Haney S. W., 1996, Computers in Physics, V10, P552
[6]  
Hardtlein J, 2005, LECT NOTES COMPUT SC, V3515, P1055
[7]  
Hardtlein J., 2005, 18 S SIM ASIM 2005 P, V15, P748
[8]  
Josuttis N.M., 2003, C TEMPLATES COMPLETE
[9]   Efficient compilation of a class of variational forms [J].
Kirby, Robert C. ;
Logg, Ander .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2007, 33 (03) :A1-A20
[10]  
Linke A., 2003, TECHNICAL REPORT