Compilation of modelica array computations into single assignment C for efficient execution on CUDA-enabled GPUs
2010 (English)In: Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, EOOLT 2010 - In Conjunction with MODELS 2010, Linköping University Electronic Press , 2010, 81-90 p.Conference paper (Refereed)
Mathematical models, derived for example from discretisation of partial differential equations, often contain operations over large arrays. In this work we investigate the possibility of compiling array operations from models in the equation-based language Modelica into Single Assignment C (SAC). The SAC2C SAC compiler can generate highly efficient code that, for instance, can be executed on CUDAenabled GPUs. We plan to enhance the open-source Modelica compiler OpenModelica, with capabilities to detect and compile data parallel Modelica for-equations/arrayequations into SAC WITH-loops. As a first step we demonstrate the feasibility of this approach by manually inserting calls to SAC array operations in the code generated from OpenModelica and show how capabilities and runtimes can be extended. As a second step we demostrate the feasibility of rewriting parts of the OpenModelica simulation runtime system in SAC. Finally, we discuss SAC2Cs switchable target architectures and demonstrate one by harnessing a CUDA-enabled GPU to improve runtimes. To the best of our knowledge, compilation of Modelica array operations for execution on CUDA-enabled GPUs is a new research area.
Place, publisher, year, edition, pages
Linköping University Electronic Press , 2010. 81-90 p.
Linköping Electronic Conference Proceedings, ISSN 1650-3686 (print), 1650-3740 (online)
, Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, EOOLT 2010 - In Conjunction with MODELS 2010
CUDA; Data parallel programming; GPU; Modelica; OpenModelica; SAC; Single assignment C
Engineering and Technology
IdentifiersURN: urn:nbn:se:liu:diva-100695ISBN: 978-91-7519-824-8OAI: oai:DiVA.org:liu-100695DiVA: diva2:663645
Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, EOOLT 2010 - In Conjunction with MODELS 2010