Exploiting Repeated Structures and Vectorization in Modelica
Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/Gutachten › Beitrag in Konferenzband › Beigetragen › Begutachtung
Beitragende
Abstract
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.
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.
Details
Originalsprache | Englisch |
---|---|
Titel | Proceeding of the 11th International Modelica Conference |
Seiten | 265-272 |
Seitenumfang | 8 |
Publikationsstatus | Veröffentlicht - Sept. 2015 |
Peer-Review-Status | Ja |
Konferenz
Titel | 11th International Modelica Conference |
---|---|
Veranstaltungsnummer | 11 |
Dauer | 21 - 23 September 2015 |
Webseite | |
Bekanntheitsgrad | Internationale Veranstaltung |
Ort | Palais des Congrès de Versailles |
Stadt | Versailles |
Land | Frankreich |