Improving Scalability and Maintenance of Software for High-Performance Scientific Computing by Combining MDE and Frameworks

  • Marc Palyart
  • David Lugato
  • Ileana Ober
  • Jean-Michel Bruel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6981)

Abstract

In recent years, numerical simulation has attracted increasing interest within industry and among academics. Paradoxically, the development and maintenance of high performance scientific computing software has become more complex due to the diversification of hardware architectures and their related programming languages and libraries.

In this paper, we share our experience in using model-driven development for numerical simulation software. Our approach called MDE4HPC proposes to tackle development complexity by using a domain specific modeling language to describe abstract views of the software. We present and analyse the results obtained with its implementation when deriving this abstract model to target Arcane, a development framework for 2D and 3D numerical simulation software.

Keywords

Model Transformation Domain Specific Modeling Language Numerical Simulation Software Generate Source Code Good Performance Level 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38(8), 114–117 (1965)Google Scholar
  2. 2.
    Lugato, D.: Model-driven engineering for high-performance computing applications. In: The 19th IASTED International Conference on Modelling and Simulation, Quebec City, Quebec, Canada (May 2008)Google Scholar
  3. 3.
    Gonnord, J., Leca, P., Robin, F.: Au delà de 50 mille milliards d´opérations par seconde! La Recherche (393) (January 2006)Google Scholar
  4. 4.
    Johns, C.R., Brokenshire, D.A.: Introduction to the cell broadband engine architecture. IBM Journal of Research and Development 51(5), 503–520 (2007)CrossRefGoogle Scholar
  5. 5.
    Kirk, D.: Nvidia cuda software and gpu parallel computing architecture. In: ISMM, pp. 103–104 (2007)Google Scholar
  6. 6.
    KhronosGroup: The OpenCL specification. Technical report (2009)Google Scholar
  7. 7.
    Miller, J., Mukerji, J.: Mda guide version 1.0.1. omg/2003-06-01. Technical report, OMG (2003)Google Scholar
  8. 8.
    Palyart, M., Lugato, D., Ober, I., Bruel, J.M.: MDE4HPC: An approach for using Model-Driven Engineering in High-Performance Computing. In: 15th System Design Languages Forum, SDL 2011 (2011)Google Scholar
  9. 9.
    Grospellier, G., Lelandais, B.: The Arcane development framework. In: POOSC 2009. ACM, New York (2009)Google Scholar
  10. 10.
    Snir, M., Otto, S.W., Huss-Lederman, S., Walker, D.W., Dongarra, J.: MPI: The complete reference. MIT Press, Cambridge (1996)Google Scholar
  11. 11.
    Schramm, A., Preußner, A., Heinrich, M., Vogel, L.: Rapid UI Development for Enterprise Applications: Combining Manual and Model-Driven Techniques. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010. LNCS, vol. 6394, pp. 271–285. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Weiland, M.: Chapel, Fortress and X10: Novel Languages for HPC. Technical report, The University of Edinburgh (October 2007)Google Scholar
  13. 13.
    Bodin, F.: Keynote: Compilers in the manycore era. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol. 5409, pp. 2–3. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Dagum, L., Menon, R.: Openmp: An industry-standard api for shared-memory programming. Computing in Science and Engineering 5, 46–55 (1998)Google Scholar
  15. 15.
    Christophe, P.: A domain specific embedded language in c++ for automatic differentiation, projection, integration and variational formulations. Sci. Program (2006)Google Scholar
  16. 16.
    Chafi, H., DeVito, Z., Moors, A., Rompf, T., Sujeeth, A.K., Hanrahan, P., Odersky, M., Olukotun, K.: Language virtualization for heterogeneous parallel computing. In: OOPSLA, pp. 835–847. ACM, New York (2010)Google Scholar
  17. 17.
    Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.-A.: starPU: A unified platform for task scheduling on heterogeneous multicore architectures. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 863–874. Springer, Heidelberg (2009), http://hal.inria.fr/inria-00384363/en/ CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Marc Palyart
    • 1
    • 2
  • David Lugato
    • 1
  • Ileana Ober
    • 2
  • Jean-Michel Bruel
    • 2
  1. 1.CEA / CESTALe BarpFrance
  2. 2.IRIT - Université de ToulouseToulouseFrance

Personalised recommendations