Exploiting Repeated Structures and Vectorization in Modelica

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung


Large and highly-detailed Modelica models are frequently modeled by utilizing repeated structures, which is a repetition of various elements that are linked together in an iterative manner. While the Modelica language standard supports the representation of repeated structures, most Modelica compilers do not exploit their advantages for efficient simulations. Instead, all repeated
equations are flattened and all array variables are expanded. This leads to unnecessarily long compile times and higher memory consumption. Another aspect that has been yet inadequately considered and is closely connected to repeated structures is vectorization. The vector units of modern CPUs can be engaged to perform SIMD (Single Instruction, Multiple Data) operations, executing the same instruction on multiple data points in parallel. This reveals a high potential for faster simulations. This paper discusses the advantages of utilizing repeated structures for modeling in order to achieve both faster compilation and simulation times. The potentials of preserving for loops throughout compilation are demonstrated using a basic implementation in the
OpenModelica Compiler. The effect on the simulation time by enabling vectorization is demonstrated for an appropriate model.


TitelProceeding of the 11th International Modelica Conference
PublikationsstatusVeröffentlicht - Sept. 2015


Titel11th International Modelica Conference
Dauer21 - 23 September 2015
BekanntheitsgradInternationale Veranstaltung
OrtPalais des Congrès de Versailles