Generating parallel code from equations in the ObjectMath programming environments

  • Peter Fritzson
  • Niclas Andersson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 734)

Abstract

For a long time efficient use of massively parallel computers has been hindered by dependencies introduced in software through low-level implementation practice. This paper presents a programming environment and language called ObjectMath (Object oriented Mathematical language for scientific computing), which aims at eliminating this problem by allowing the user to represent mathematical equational models directly in the system. The system performs dependency analysis of equations to extract parallelism and automatically generates parallel code for numerical solution.

The system is currently being used for industrial applications in advanced mechanical analysis, but is generally applicable to other areas. Using ObjectMath, it is possible to model classes of equation objects, to support inheritance of equations, and to solve systems of equations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman. Data Structures and Algorithms, 222–226, Addison-Wesley, 1983.Google Scholar
  2. 2.
    Mats Andersson. Omola — an object-oriented language for model representation. Licentiate thesis, Department of Automatic Control, Lund Institute of Technology, P.O. Box 118, S-221 00 Lund, Sweden, May 1990.Google Scholar
  3. 3.
    J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.Google Scholar
  4. 4.
    Richard J. Fateman. A review of Mathematica. Preliminary version. To appear in the Journal of Symbolic Computation, 1992.Google Scholar
  5. 5.
    Dag Fritzson and Peter Fritzson. Equational modeling of machine elements — applied to rolling bearings. Technical Report LiTH-IDA-R-91-05, Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden, March 1991.Google Scholar
  6. 6.
    Peter Fritzson and Dag Fritzson. The need for high-level programming support in scientific computing applied to mechanical analysis. Technical Report LiTHIDA-R-91-04, Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden. March 1991. Accepted for publication in Computers and Structures — an International Journal.Google Scholar
  7. 7.
    Peter Fritzson, Lars Viklund, Johan Herber, and Dag Fritzson. Industrial application of object-oriented mathematical modeling and computer algebra in mechanical analysis. In Georg Heeg, Boris Magnusson, and Bertrand Meyer, editors. Technology of Object-Oriented Languages and Systems — TOOLS 7. Prentice Hall, 1992.Google Scholar
  8. 8.
    Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley Publishing Company, 1984.Google Scholar
  9. 9.
    E. Hairer S.P. Nørsett G. Wanner. Solving Ordinary Differential Equations I: Non stiff Problems. Springer-Verlag, 1980.Google Scholar
  10. 10.
    E. Hairer G. Wanner. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems. Springer-Verlag, 1991.Google Scholar
  11. 11.
    Thomas W. Page, Jr., Steven E. Berson, William C. Cheng, and Richard R. Muntz. An object-oriented modeling environment. In OOPSLA'89 Conference Proceedings, 1989.Google Scholar
  12. 12.
    Peter Jacobson. The CONcurrent LABoratory: Algorithm Design for and Simulation of Parallel Architectures. Licentiate thesis. Institute of Information Processing, Department of Computing Science, University of Umeå, Sweden,1992.Google Scholar
  13. 13.
    Walter F. Tichy, Christian G. Herter. Modula-2*: An Extension of Modula-2 for Highly Parallel, Portable Programs. Technical report 4/90 — January 1990, Universität Karlsruhe, Fakultät für Informatik, Postfach 6980, D-7500 Karlsruhe 1.Google Scholar
  14. 14.
    Lars Viklund, Johan Herber, and Peter Fritzson. The implementation of ObjectMath — a high-level programming environment for scientific computing. To appear in Proceedings of the 1992 International Workshop on Compiler Construction, Springer-Verlag, 1992.Google Scholar
  15. 15.
    Paul S. Wang. FINGER: A symbolic system for automatic generation of numerical programs in finite element analysis. Journal of Symbolic Computation, 2:305–316, 1986.Google Scholar
  16. 16.
    Paul S. Wang. Graphical user interfaces and automatic generation of sequential and parallel code for scientific computing. In IEEE CompCon Spring, 1988.Google Scholar
  17. 17.
    Peter Wegner. Concepts and paradigms of object-oriented programming. OOPS Messenger, 1(1):8–87, August 1990.Google Scholar
  18. 18.
    Stephen Wolfram. Mathematica — A System for Doing Mathematics by Computer. Addison-Wesley Publishing Company, second edition, 1991.Google Scholar

Copyright information

© Springer-Verlag 1993

Authors and Affiliations

  • Peter Fritzson
    • 1
  • Niclas Andersson
    • 1
  1. 1.Department of Computer and Information ScienceLinköping UniversityLinköpingSweden

Personalised recommendations