Article | Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany | A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms Linköping University Electronic Press Conference Proceedings
Göm menyn

Title:
A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms
Author:
Mahder Gebremedhin: Department of Computer and Information Science, Linköping University, Linköping, Sweden Afshin Hemmati Moghadam: Department of Computer and Information Science, Linköping University, Linköping, Sweden Peter Fritzson: Department of Computer and Information Science, Linköping University, Linköping, Sweden Kristian Stavåker: Department of Computer and Information Science, Linköping University, Linköping, Sweden
DOI:
10.3384/ecp12076393
Download:
Full text (pdf)
Year:
2012
Conference:
Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany
Issue:
076
Article no.:
041
Pages:
393-404
No. of pages:
12
Publication type:
Abstract and Fulltext
Published:
2012-11-19
ISBN:
978-91-7519-826-2
Series:
Linköping Electronic Conference Proceedings
ISSN (print):
1650-3686
ISSN (online):
1650-3740
Publisher:
Linköping University Electronic Press; Linköpings universitet


Export in BibTex, RIS or text

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.

Keywords: Parallel; Simulation; Benchmarking; Modelica; Compiler; GPU; OpenCL; Multi-Core

Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany

Author:
Mahder Gebremedhin, Afshin Hemmati Moghadam, Peter Fritzson, Kristian Stavåker
Title:
A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms
DOI:
http://dx.doi.org/10.3384/ecp12076393
References:
[1] Modelica Association. The Modelica Language Specification Version 3.2; March 24th 2010. http://www.modelica.org. Modelica Association. Modelica Standard Library 3.1. Aug. 2009. http://www.modelica.org./

[2] Open Source Modelica Consortium. OpenModelica System Documentation Version 1.8.1; April 2012. http://www.openmodelica.org/

[3] Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press; 2004. doi: 10.1109/9780470545669.

[4] Peter Aronsson. Automatic Parallelization of Equation-Based Simulation Programs; PhD thesis; Dissertation No. 1022; Linköping University; 2006.

[5] Håkan Lundvall. Automatic Parallelization using Pipelining for Equation-Based Simulation Languages; Licentiate thesis No. 1381; Linköping University; 2008.

[6] Håkan Lundvall; Kristian Stavåker; Peter Fritzson; Christoph Kessler: Automatic Parallelization of Simulation Code for Equation-based Models with Software Pipelining and Measure-ments on Three Platforms. MCC’08 Workshop; Ronneby; Sweden; November 27-28; 2008.

[7] Per Östlund. Simulation of Modelica Models on the CUDA Architecture. Master Thesis. LIU-IDA/LITH-EX-A-09/062-SE. Linköping Univer-sity; 2009.

[8] Kristian Stavåker; Peter Fritzson. Generation of Simulation Code from Equation-Based Models for Execution on CUDA-Enabled GPUs. MCC’10 Workshop; Gothenburg; Sweden; November 18-19; 2010.

[9] Matthias Korch and Thomas Rauber. Scalable parallel rk solvers for odes derived by the method of lines. In Harald Kosch; Laszlo Böszörményi; and Hermann Hellwagner; editors; Euro-Par; vol-ume 2790 of Lecture Notes in Computer Science; pages 830-839. Springer; 2003.

[10] Christoph Kessler and Peter Fritzson. NestStep-Modelica – Mathematical Modeling and Bulk-Synchronous Parallel Simulation. In Proc. of PARA’06; Umeå; June 19-20; 2006. In Lecture Notes of Computer Science (LNCS) Vol 4699; pp 1006-1015; Springer Verlag; 2006.

[11] Martin Sjölund; Robert Braun; Peter Fritzson and Petter Krus. Towards Efficient Distributed Simu-lation in Modelica using Transmission Line Mod-eling. In Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools; (EOOLT’2010); Published by Linköping University Electronic Press; www.ep.liu.se; In conjunction with MOD-ELS’2010; Oslo; Norway; Oct 3; 2010.

[12] Francois Cellier and Ernesto Kofman. Continuous System Simulation. Springer; 2006.

[13] Khronos Group; Open Standards for Media Authoring and Acceleration; OpenCL 1.1; accessed Sept 15; 2011. http://www.khronos.org/opencl/

[14] The OpenCL Specication; Version: 1.1; Document Revision: 44; accessed June 30 2011. http://www.khronos.org/registry/cl/specs/opencl-1.1.pdf

[15] NVIDIA CUDA; accessed September 15 2011. http://www.nvidia.com/object/cuda home new.html

[16] NVIDIA CUDA programming guide; accessed 30 June 2011. http://developer.download.nvidia.com/ compute/cuda/4 0 rc2/toolkit/docs/CUDA C Pro-gramming Guide.pdf

[17] OpenCL Programming Guide for the CUDA Architecture; Appendix A; accessed June 30 2011. http://developer.download.nvidia.com/compute/DevZone/docs/html/OpenCL/doc/OpenCL Pro-gramming Guide.pdf

[18] AMD OpenCL; System Requirements & Driver Compatibility; accessed June 30 2011. http://developer.amd.com/sdks/AMDAPPSDK/pages/DriverCompatibility.aspx

[19] INTEL OpenCL; Technical Requirements; accessed June 30 2011. http://software.intel.com/enus/articles/opencl-release-notes/

[20] OpenCL Work-Item Built-In Functions; accessed June 30 2011. http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/workItemFunctions.html

[21] Jack J. Dongarra; J. Bunch; Cleve Moler; and G. W. Stewart. LINPACK User’s Guide. SIAM; Philadelphia; PA; 1979.

[22] Ian N. Sneddon. Fourier Transforms. Dover Publications; 2010. ISBN-13: 978-0486685229.

[23] John H. Lienhard IV and John H. Lienhard V. A Heat Transfer Textbook. Phlogiston Press Cambridge; Massachusetts; U.S.A; 4th edition; 2011.

[24] Intel Xeon E5520 CPU Specifications; accessed October 28 2011. http://ark.intel.com/products/40200/Intel-Xeon-Processor-E5520-(8M-Cache-2 26-GHz-5 86-GTs-Intel-QPI)

[25] NVIDIA Tesla M2050 GPU Specifications; accessed June 30 2011. http://www.nvidia.com/docs/IO/43395/BD-05238-001 v03.pdf

[26] Cyril Faure. Real-time simulation of physical models toward hardware-in-the-loop validation. PhD Thesis. University of Paris East; October 2011.

Proceedings of the 9th International MODELICA Conference; September 3-5; 2012; Munich; Germany

Author:
Mahder Gebremedhin, Afshin Hemmati Moghadam, Peter Fritzson, Kristian Stavåker
Title:
A Data-Parallel Algorithmic Modelica Extension for Efficient Execution on Multi-Core Platforms
DOI:
https://doi.org10.3384/ecp12076393
Note: the following are taken directly from CrossRef
Citations:
  • Sumeyye Kaynak, Baran Kayna & Ahmet Ozmen (2020). GPU-Based Dynamic Solar Potential Estimation Tool Using 3D Plans. IEEE Access, 8: 45432. DOI: 10.1109/ACCESS.2020.2978590
  • Salah Eddine Saidi, Nicolas Pernet, Yves Sorel, A. Anciaux-Sedrakia & Q. H. Tran (2019). A method for parallel scheduling of multi-rate co-simulation on multi-core platforms. Oil & Gas Science and Technology – Revue d’IFP Energies nouvelles, 74: 49. DOI: 10.2516/ogst/2019009
  • Peter Fritzson, Adrian Pop, Karim Abdelhak, Adeel Ashgar, Bernhard Bachmann, Willi Braun, Daniel Bouskela, Robert Braun, Lena Buffoni, Francesco Casella, Rodrigo Castro, Rüdiger Franke, Dag Fritzson, Mahder Gebremedhin, Andreas Heuermann, Bernt Lie, Alachew Mengist, Lars Mikelsons, Kannan Moudgalya, Lennart Ochel, Arunkumar Palanisamy, Vitalij Ruge, Wladimir Schamai, Martin Sjölund, Bernhard Thiele, John Tinnerhol & Per Östlund (2020). The OpenModelica Integrated Environment for Modeling, Simulation, and Model-Based Development. Modeling, Identification and Control: A Norwegian Research Bulletin, 41(4): 241. DOI: 10.4173/mic.2020.4.1


  • Responsible for this page: Peter Berkesand
    Last updated: 2019-11-06