Automatic Parallelization of Mathematical Models Solved with Inlined Runge-Kutta Solvers
Håkan Lundvall, Peter Fritzson · 2007
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.