Using Python']Python for large scale linear algebra applications

被引:7
作者
Bröker, O
Chinellato, O
Geus, R
机构
[1] ETH, Computat Lab, CH-8092 Zurich, Switzerland
[2] ETH, Inst Computat Sci, Zurich, Switzerland
[3] Paul Scherrer Inst, CH-5232 Villigen, Switzerland
关键词
!text type='Python']Python[!/text; C/C plus; Fortran; linear algebra; multigrid; eigenvalue solver;
D O I
10.1016/j.future.2005.02.001
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software used in scientific computing is traditionally developed using compiled languages for the sake of maximal performance. However, for most applications, the time-critical portion of the code that requires the efficiency of a compiled language, is confined to a small set of well-defined functions. Implementing the remaining part of the application using an interactive and interpreted high-level language offers many advantages without a big performance degradation tradeoff. This paper describes the Pythonic approach, a mixed language approach combining the Python programming language with near operating-system level languages. We demonstrate the effectiveness of the Pythonic approach by showing a few small examples and fragments of two large scale linear algebra applications. Essential advantages of the Pythonic mixed language approach is the combination of flexible, readable, shorter, and most importantly less error-prone syntax with performance similar to pure Fortran or CIC++ implementations. (c) 2005 Elsevier B.V. All rights reserved.
引用
收藏
页码:969 / 979
页数:11
相关论文
共 12 条
[1]  
Alpatov P., 1997, Proceedings Eighth SIAM Conference on Parallel Processing for Scientific Computing
[2]  
ANDERSON E, 1994, LAPACK USERS GUIDE R
[3]  
ARGE E, 1997, NUMER METH SOFTW TOO, V119, P93
[4]  
BROKER O, 1998, THESIS RHEINISCHE F
[5]  
Broker O., 2003, THESIS ETH ZURICH
[6]  
GAMMA E, 1995, DESIGN PATTERNS
[7]  
Geus R., 2002, THESIS ETH ZURICH
[8]   Parallel preconditioning with sparse approximate inverses [J].
Grote, MJ ;
Huckle, T .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 1997, 18 (03) :838-853
[9]  
Heroux M., 2003, An Overview of Trilinos
[10]   An empirical comparison of seven programming languages [J].
Prechelt, L .
COMPUTER, 2000, 33 (10) :23-+