Abstract
In this paper, we describe a Python-based framework for the rapid prototyping of scientific applications. A case study was performed using a problem specification developed for Marmot, a project at the Los Alamos National Laboratory aimed at re-factoring standard physics codes into reusable and extensible components. Components were written in Python, ZPL, Fortran, and C++ following the Marmot component design. We evaluate our solution both qualitatively and quantitatively by comparing it to a single-language version written in C.
Similar content being viewed by others
References
Armstrong R, Gannon D, Geist A, Keahey K, Kohn S, McInnes LC, Parker S, Smolinski B (1999) Toward a common component architecture for high-performance scientific computing. In Proceedings of High Performance Distributed Computing, pp 115–124
Beazley DM (2003) Automated scientific software scripting with SWIG . In Future Generation Computer Systems, vol 19. Elsevier,
Chamberlain BL (2001) The Design and Implementation of a Region-Based Parallel Language. PhD thesis, University of Washington
Demmel JW, Gilbert JR, Li XS (2003) SuperLU users’ guide. Technical Report LBNL-44289, Lawrence Berkeley National Laboratory
Dickenson RE, Zebiak SE, Anderson JL, Blackmon ML, DeLuca C, Hogan TF, Iredell M, Ji M, Rood R, Suarez MJ, Taylor KE (2002) How can we advance our weather and climate models as a community? In Bulletin of the American Meteorological Society, vol 83
European Centre for Medium-Range Weather Forecasts. see http://www.ecmwf.int
Geus R, Arbenz P (2003) A Python framework for large scale sparse linear algebra. In PyCon DC 2003
Godunov SK (1959) A finite difference method for the numerical computation of discontinuous solutions of the equations of fluid dynamics. Matematichesky Sbornik 47, pp 271–290
Kohn S, Kumfert G, Painter J, Ribbens C (2001) Divorcing language dependencies from a scientific software library. In Proceedings of the 10th SIAM Conference on Parallel Processing
Lowrie R, Evans T, Dilts G, Turner J, Ferenbaugh C, Dahl J, Urbatsch T (2003) Numerical methods for the advection-diffusion-reaction (ADR) project. Technical Report LA-UR-04-4031, Los Alamos National Laboratory
Lowrie RB, Evans TM, Dilts G, Ferenbaugh C, Urbatsch T, Dahl J, Turner J, Wingate, C, Clark B, Hubbard M (2004) Code design for the advection-diffusion-reaction (ADR) project. Technical Report LA-UR-04-4032, Los Alamos National Laboratory
Lowrie RB, Evans TM, Dilts GA (2003) Vision and scope for the advection-diffusion-reaction (ADR) project. Technical Report LA-UR-04-4035, Los Alamos National Laboratory
National Oceanic and Atmospheric Administration. see http://www.noaa.gov
Peterson P. F2PY: Fortran to Python interface generator. see cens.ioc.ee/projects/f2py2e
Pyre: A Python Framework. see http://www.cacr.caltech.edu/projects/pyre
Rasmussen C, Lindlan K, Mohr B, Striegnitz J (2001) Chasm: Static analysis and automatic code generation for improved Fortran 90 and C++ interoperability. In Proceedings of the Los Alamos Computer Science Symposium
Scientific tools for Python. see http://www.-scipy.org
SCIRun: A Scientific Computing Problem Solving Environment. Scientific Computing and Imaging Institute (SCI), software.sci.utah.edu/scirun.html, 2002
Snyder L (1999) Programming guide to ZPL . MIT Press, Cambridge, MA, USA
The MathWorks. see http://www.mathworks.com
The Python Language Home Page. see http://www.-python.org
Wolfram Research, Inc. see http://www.wolfram.com
Author information
Authors and Affiliations
Corresponding author
Additional information
Los Alamos National Laboratory is operated by the University of California for the National Nuclear Security Administration of the United States Department of Energy under contract W-7405-ENG-36, LA-UR-04-4655.
Rights and permissions
About this article
Cite this article
Rickett, C.D., Choi, SE., Rasmussen, C.E. et al. Rapid prototyping frameworks for developing scientific applications: A case study. J Supercomput 36, 123–134 (2006). https://doi.org/10.1007/s11227-006-7953-6
Issue Date:
DOI: https://doi.org/10.1007/s11227-006-7953-6