Generating parallel code from equations in the ObjectMath programming environments
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.
KeywordsDependency Graph Rolling Bearing Rolling Element Parallel Code Contact Object
Unable to display preview. Download preview PDF.
- 1.Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman. Data Structures and Algorithms, 222–226, Addison-Wesley, 1983.Google Scholar
- 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.J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.Google Scholar
- 4.Richard J. Fateman. A review of Mathematica. Preliminary version. To appear in the Journal of Symbolic Computation, 1992.Google Scholar
- 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.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.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.Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley Publishing Company, 1984.Google Scholar
- 9.E. Hairer S.P. Nørsett G. Wanner. Solving Ordinary Differential Equations I: Non stiff Problems. Springer-Verlag, 1980.Google Scholar
- 10.E. Hairer G. Wanner. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems. Springer-Verlag, 1991.Google Scholar
- 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.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.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.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.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.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.Peter Wegner. Concepts and paradigms of object-oriented programming. OOPS Messenger, 1(1):8–87, August 1990.Google Scholar
- 18.Stephen Wolfram. Mathematica — A System for Doing Mathematics by Computer. Addison-Wesley Publishing Company, second edition, 1991.Google Scholar