A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms
Department of Computer and Information Science, Linkoping University, SE-581 83 Linkoping, Sweden
9th International MODELICA Conference, September 3-5, 2012
@article{gebremedhin2012data,
title={A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms},
author={Gebremedhin, M. and Moghadam, A.H. and Fritzson, P. and Stav{aa}ker, K.},
year={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.
November 27, 2012 by hgpu