A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms

Mahder Gebremedhin, Afshin Hemmati Moghadam, Peter Fritzson, Kristian Stavåker · Linköping electronic conference proceedings · 2012

New multi-core CPU and GPU architectures promise high computational power at a low cost if suitable computational algorithms can be developed.However, parallel programming for such architectures is usually non-portable, low-level and error-prone.To make the computational power of new multi-core architectures more easily available to Modelica modelers, we have developed the ParModelica algorithmic language extension to the high-level Modelica modeling language, together with a prototype implementation in the OpenModelica framework.This enables the Modelica modeler to express parallel algorithms directly at the Modelica language level.The generated code is portable between several multi-core architectures since it is based on the OpenCL programming model.The implementation has been evaluated on a benchmark suite containing models with matrix multiplication, Eigen value computation, and stationary heat conduction.Good speedups were obtained for large problem sizes on both multi-core CPUs and GPUs.To our knowledge, this is the first high-performing portable explicit parallel programming extension to Modelica.

Read the paper · More papers on PaperTik