Tpetra, and the use of generic programming in scientific computing

被引:0
作者
Baker, C. G. [1 ]
Heroux, M. A. [2 ]
机构
[1] Oak Ridge Natl Lab, Computat Engn & Energy Sci Grp, Oak Ridge, TN 37831 USA
[2] Sandia Natl Labs, Dept Scalable Algorithms, Albuquerque, NM 87185 USA
关键词
Generic programming; scientific computing; template metaprogramming; shared-memory programming; distributed-memory programming; many-core computing;
D O I
10.1155/2012/693861
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Tpetra, a Trilinos package for parallel linear algebra primitives implementing the Petra object model. We describe Tpetra's design, based on generic programming via C++ templated types and template metaprogramming. We discuss some benefits of this approach in the context of scientific computing, with illustrations consisting of code and notable empirical results.
引用
收藏
页码:115 / 128
页数:14
相关论文
共 26 条
[1]  
[Anonymous], 2010, EPETRA 10 6 RELEASE
[2]  
[Anonymous], 2010, Thrust: A parallel template library
[3]  
Bailey D.H., 2002, 53651 LBNL
[4]  
Bailey D.H., 2011, HIGH PRECISION SOFTW
[5]   Anasazi Software for the Numerical Solution of Large-Scale Eigenvalue Problems [J].
Baker, C. G. ;
Hetmaniuk, U. L. ;
Lehoucq, R. B. ;
Thornquist, H. K. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2009, 36 (03)
[6]  
Baker C.G., 2009, SIAM ANN M JUL
[7]  
Baker C.G., 2011, TPETRA RECURSIVE MIX
[8]  
Baker C.G., 2011, TPETRA CONJUGATE GRA
[9]  
Baker C.G., 2010, SIAM C PAR PROC SCI
[10]  
Baker C.G., 2010, PARALLEL PROGRAMMING