Conference article

Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers

Håkan Lundvall
PELAB – Programming Environment Lab, Dept. Computer Science, Linköping University, Sweden

Peter Fritzson
PELAB – Programming Environment Lab, Dept. Computer Science, Linköping University, Sweden

Download article

Published in: The 48th Scandinavian Conference on Simulation and Modeling (SIMS 2007); 30-31 October; 2007; Göteborg (Särö)

Linköping Electronic Conference Proceedings 27:1, p. 1-7

Show more +

Published: 2007-12-21


ISSN: 1650-3686 (print), 1650-3740 (online)


In this work we report preliminary results of automatically generating parallel code from equation-based models together at two levels: Performing inline expansion of a Runge-Kutta solver combined with finegrained automatic parallelization of the resulting RHS opens up new possibilities for generating high performance code; which is becoming increasingly relevant when multi-core computers are becoming common-place.

We have introduced a new way of scheduling the task graph generated from the simulation problem which utilizes knowledge about locality of the simulation problem. The scheduling is also done in a way that limits communication; to the greatest extent possible; to neighboring processors thus avoiding expensive global synchronization. Preliminary tests on a PC-cluster show speedup that is better than what was achieved in previous work where parallelization was done only at the equation system level.


Modelica; automatic parallelization


[1] Peter Aronsson. Automatic Parallelization of Equation- Based Simulation Programs. PhD thesis; Dissertation No. 1022; Dept. Computer and Information Science; Linköping University; Linköping; Sweden.

[2] Olaf Bonorden; Ben Juurlink; Ingo von Otte; and Ingo Rieping. The Paderborn University BSP (PUB) Library. Parallel Computing; 29:187–207; 2003.

[3] Peter Fritzson; Peter Aronsson; Håkan Lundvall; Kaj Nyström; Adrian Pop; Levon Saldamli; and David Broman. The OpenModelica Modeling; Simulation; and Software Development Environment. In Simulation News Europe; 44/45; December 2005. See also:

[4] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1; 940 pp.; ISBN 0- 471-471631; Wiley-IEEE Press; 2004. See also book web page:

[5] The Modelica Association. The Modelica Language Specification Version 2.2; March 2005.

[6] OpenMP Architecture Review Board. OpenMP: a Proposed Industry Standard API for Shared Memory Programming. White Paper;; October 1997.

[7] Joar Sohl. A Scalable Run-time System for NestStep on Cluster Supercomputers. Master thesis LITH-IDA-EX- 06/011-SE; IDA; Linköpings universitet; 58183 Linköping; Sweden; March 2006.

[8] Kaj Nyström and Peter Fritzson. Parallel Simulation with Transmission Lines in Modelica. In Proceedings ofthe 5th International Modelica Conference (Modelica’ 2006); Vienna; Austria; Sept. 4-5; 2006.

[9] Alexander Siemers; Dag Fritzson; and Peter Fritzson. Meta-Modeling for Multi-Physics Co-Simulations applied for OpenModelica. In Proceedings of International Congress on Methodologies for Emerging Technologies in Automation (ANIPLA2006); Rome; Italy; November 13- 15; 2006.

[10] Matthias Korch and Thomas Rauber. Optimizing Locality and Scalability of Embedded Runge-Kutta Solvers Using Block-Based Pipelining. Journal of Parallel and Distributed Computing; Volume 66 ; Issue 3 (March 2006); Pages: 444 – 468.

[11] Peter Aronsson and Peter Fritzson. Automatic Parallelization in OpenModelica. In Proceedings of 5th EUROSIM Congress on Modeling and Simulation; Paris; France. ISBN (CD-ROM) 3-901608-28-1; Sept 2004.

[12] Christoph Kessler; Peter Fritzson and Mattias Eriksson. NestStepModelica: Mathematical Modeling and Bulk-Synchronous Parallel Simulation. PARA-06 Workshop on state-of-the-art in scientific and parallel computing; Umeå; Sweden; June 18-21; 2006.

[13] Thomas Rauber and Gudula Runger; Iterated Runge- Kutta Methods on Distributed Memory Multiprocessors. In Proceedings of the 3rd Euromicro Workshop on Parallel and Distributed Processing; pages 12--19; 1995

[14] Robert E. Tarjan; Depth First Search and Linear Graph Algorithms; SIAM Journal of Computing; 1; pages 146-160; 1972

Citations in Crossref