liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Automatic Parallelization of Models using Pipeline Extraction from Combined RHS and Inlined Solvers
Linköping University, Department of Computer and Information Science. (PELAB)
2009 (English)In: the 14th Workshop on Compilers for Parallel Computing, 2009Conference paper (Other scientific)
Abstract [en]

In this work we report preliminary results from a new integrated method of automatically generating parallel code from equationbased object-oriented mathematical models by combining parallelization at two levels of abstraction. Performing inline expansion of a Runge-Kutta solver combined with fine-grained 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 commonplace. 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 and generates a computation pipeline such that processors early in the pipeline can carry on with subsequent time steps while the end of the pipeline still computes the current step. A prototype implementation has been developed as part of the OpenModelica compiler, which has been used for preliminary measurements.

Place, publisher, year, edition, pages
Modelica, automatic parallelization, equation-based modeling
URN: urn:nbn:se:liu:diva-12438OAI: diva2:85
Submitted, but not yet accepted.Available from: 2008-09-04 Created: 2008-09-04 Last updated: 2013-06-12
In thesis
1. Automatic Parallelization using Pipelining for Equation-Based Simulation Languages
Open this publication in new window or tab >>Automatic Parallelization using Pipelining for Equation-Based Simulation Languages
2008 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

During the most recent decades modern equation-based object-oriented modeling and simulation languages, such as Modelica, have become available. This has made it easier to build complex and more detailed models for use in simulation. To be able to simulate such large and complex systems it is sometimes not enough to rely on the ability of a compiler to optimize the simulation code and reduce the size of the underlying set of equations to speed up the simulation on a single processor. Instead we must look for ways to utilize the increasing number of processing units available in modern computers. However to gain any increased performance from a parallel computer the simulation program must be expressed in a way that exposes the potential parallelism to the computer. Doing this manually is not a simple task and most modelers are not experts in parallel computing. Therefore it is very appealing to let the compiler parallelize the simulation code automatically. This thesis investigates techniques of using automatic translation of models in typical equation based languages, such as Modelica, into parallel simulation code that enable high utilization of available processors in a parallel computer. The two main ideas investigated here are the following: first, to apply parallelization simultaneously to both the system equations and the numerical solver, and secondly. to use software pipelining to further reduce the time processors are kept waiting for the results of other processors. Prototype implementations of the investigated techniques have been developed as a part of the OpenModelica open source compiler for Modelica. The prototype has been used to evaluate the parallelization techniques by measuring the execution time of test models on a few parallel archtectures and to compare the results to sequential code as well as to the results achieved in earlier work. A measured speedup of 6.1 on eight processors on a shared memory machine has been reached. It still remains to evaluate the methods for a wider range of test models and parallel architectures.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2008. 25 p.
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 1381
Equation-Based languages, automatic parallelization, Modelica, simulation, Ekvationsbaserade språk, automatisk parallellisering, Modelica, simulering
National Category
Computer Science
urn:nbn:se:liu:diva-12504 (URN)LIU-TEK-LIC-2008:39 (Local ID)978-91-7393-799-3 (ISBN)LIU-TEK-LIC-2008:39 (Archive number)LIU-TEK-LIC-2008:39 (OAI)
2008-09-26, Alan Turing, Hus E, Campus Valla, Linköpings universitet, Linköping, 10:15 (English)
Available from: 2008-09-09 Created: 2008-09-09 Last updated: 2014-10-08Bibliographically approved

Open Access in DiVA

No full text

By organisation
Department of Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 168 hits
ReferencesLink to record
Permanent link

Direct link