Advertisement

The Journal of Supercomputing

, Volume 36, Issue 2, pp 123–134 | Cite as

Rapid prototyping frameworks for developing scientific applications: A case study

  • Christopher D. Rickett
  • Sung-Eun Choi
  • Craig E. Rasmussen
  • Matthew J. Sottile
Article

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.

Keywords

Components CCA Python 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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–124Google Scholar
  2. 2.
    Beazley DM (2003) Automated scientific software scripting with SWIG . In Future Generation Computer Systems, vol 19. Elsevier,Google Scholar
  3. 3.
    Chamberlain BL (2001) The Design and Implementation of a Region-Based Parallel Language. PhD thesis, University of WashingtonGoogle Scholar
  4. 4.
    Demmel JW, Gilbert JR, Li XS (2003) SuperLU users’ guide. Technical Report LBNL-44289, Lawrence Berkeley National LaboratoryGoogle Scholar
  5. 5.
    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 83Google Scholar
  6. 6.
    European Centre for Medium-Range Weather Forecasts. see http://www.ecmwf.int
  7. 7.
    Geus R, Arbenz P (2003) A Python framework for large scale sparse linear algebra. In PyCon DC 2003Google Scholar
  8. 8.
    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–290zbMATHMathSciNetGoogle Scholar
  9. 9.
    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 ProcessingGoogle Scholar
  10. 10.
    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 LaboratoryGoogle Scholar
  11. 11.
    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 LaboratoryGoogle Scholar
  12. 12.
    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 LaboratoryGoogle Scholar
  13. 13.
    National Oceanic and Atmospheric Administration. see http://www.noaa.gov
  14. 14.
    Peterson P. F2PY: Fortran to Python interface generator. see cens.ioc.ee/projects/f2py2eGoogle Scholar
  15. 15.
    Pyre: A Python Framework. see http://www.cacr.caltech.edu/projects/pyre
  16. 16.
    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 SymposiumGoogle Scholar
  17. 17.
    Scientific tools for Python. see http://www.-scipy.org
  18. 18.
    SCIRun: A Scientific Computing Problem Solving Environment. Scientific Computing and Imaging Institute (SCI), software.sci.utah.edu/scirun.html, 2002Google Scholar
  19. 19.
    Snyder L (1999) Programming guide to ZPL . MIT Press, Cambridge, MA, USAGoogle Scholar
  20. 20.
    The MathWorks. see http://www.mathworks.com
  21. 21.
    The Python Language Home Page. see http://www.-python.org
  22. 22.
    Wolfram Research, Inc. see http://www.wolfram.com

Copyright information

© Springer Science + Business Media, LLC 2006

Authors and Affiliations

  • Christopher D. Rickett
    • 1
    • 2
  • Sung-Eun Choi
    • 2
  • Craig E. Rasmussen
    • 2
  • Matthew J. Sottile
    • 2
  1. 1.South Dakota School of Mines & TechnologyRapid City
  2. 2.Los Alamos National LaboratoryLos Alamos

Personalised recommendations