liu.seSearch for publications in DiVA
Change search
Refine search result
1 - 13 of 13
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the 'Create feeds' function.
  • 1.
    Lundvall, Håkan
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Kessler, Christoph
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Automatic Parallelization of Simulation Code for Equation-based Models with Software Pipelining and Measurements on Three Platforms2008In: Proceedings from the First Swedish Workshop on Multi-Core Computing, MCC-08, November 27-28, 2008, Ronneby, Sweden / [ed] Håkan Grahn, Ronneby, Sweden: Blekinge Institute of Technology , 2008, p. 60-69Conference paper (Refereed)
    Abstract [en]

    In this work we report results from a new integrated method of automatically generating parallel code from Modelica models by combining parallelization at two levels of abstraction. Performing inline expansion of a Runge-Kutta solver combined with fine-grained automatic parallelization of the right-hand side of the resulting equation system opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are becoming commonplace. An implementation, in the form of a backend module for the OpenModelica compiler, has been developed and used for measurements on two architectures: Intel Xeon and SGI Altix 3700 Bx2. This paper also contains some very recent results of a prototype implementation of this parallelization approach on the Cell BE processor architecture.

  • 2.
    Lundvall, Håkan
    et al.
    Linköping University, Department of Computer and Information Science.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    Kessler, Christoph
    Linköping University, Department of Computer and Information Science.
    Automatic Parallelization of Simulation Code for Equation-based Models with Software Pipelining and Measurements on Three Platforms.2008In: SIGARCH Computer Architecture News, ISSN 0163-5964, E-ISSN 1943-5851, Vol. 36, no 5Article in journal (Refereed)
    Abstract [en]

    In this work we report results from a new integrated method of automatically generating parallel code from Modelica models by combining parallelization at two levels of abstraction. Performing inline expansion of a Runge-Kutta solver combined with fine-grained automatic parallelization of the right-hand side of the resulting equation system opens up new possibilities for generating high performance code, which is becoming increasingly relevant when multi-core computers are becoming commonplace. An implementation, in the form of a backend module for the OpenModelica compiler, has been developed and used for measurements on two architectures: Intel Xeon and SGI Altix 3700 Bx2. This paper also contains some very recent results of a prototype implementation of this parallelization approach on the Cell BE processor architecture.

  • 3.
    Maggio, Martina
    et al.
    Dipartimento di Elettronica e Informazione, Politecnico di Milano, Milano, Italy.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Donida, Filippo
    Dipartimento di Elettronica e Informazione, Politecnico di Milano, Milano, Italy.
    Casella, Francesco
    Dipartimento di Elettronica e Informazione, Politecnico di Milano, Milano, Italy.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Parallel Simulation of Equation-based Object-Oriented Models with Quantized State Systems on a GPU2009In: Proceedings 7th Modelica Conference, Como, Italy, Sep. 20-22, 2009, Linköping: Linköping University Electronic Press, 2009, p. 251-260Conference paper (Refereed)
    Abstract [en]

    This work focuses on the use of parallel hardware to improve the simulation speed of equation-based object-oriented Modelica models. With this intention,a method has been developed that allows for the translation of a restricted class of Modelica models to parallel simulation code, targeted for the Nvidia Tesla architecture and based on the Quantized State Systems(QSS) simulation algorithm. The OpenModelica Compiler (OMC) has been extended with a new back-end module for automatic generation of the simulation code that uses the CUDA extensions to the C language to be executable with a General Purpose Graphic Processing Unit (GPGPU). Preliminary performance measurments of a small example model havebeen done on the Tesla architecture.

  • 4.
    Moghadam, Afshin Hemmati
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Gebremedhin, Mahder
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Simulation and benchmarking of Modelica models on multi-core architectures with explicit parallel algorithmic language extensions2011In: Fourth Swedish Workshop on Multi-Core Computing MCC-2011 / [ed] Kessler, Christoph, 2011, Vol. S. 109-114, p. 109-114Conference paper (Other academic)
    Abstract [en]

    In this paper we introduce new parallel programming language construcructs which can be used in the algorithmic parts of Modelica models, and we present a benchmark test suite of suitable algorithmic Modelica models that makes use of the new constructs (such as models containing large matrix computations). We provide measurements of simulating three models fraom this benchmark test suite using single-core and multi-core CPUs as well as GPUs. 

  • 5.
    Pop, Adrian Dan Iosif
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Exception Handling for Modelica2008In: Proceedings of the 6th International Modelica Conference, March 3rd-4th, 2008. University of Applied Sciences Bielefeld, Bielefeld, Germany / [ed] Bernhard Bachmann, Modelica Website: Modelica Association , 2008, p. 409-417Conference paper (Refereed)
    Abstract [en]

    Any mature modeling and simulation language should provide support for error recovery. Errors might always appear in the runtime of such languages and the developer should be able to specify alternatives when failures happen. In this paper we present the design and implementation of exception handling in Modelica. To our knowledge this is the first approach of integrating equation-based object-oriented languages (EOO) with exception handling.

  • 6.
    Stavåke, Kristian
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Song, Chen
    Engineering Mathematics and Computing Laboratory, University of Heidelberg, Germany.
    Wlotzka, Martin
    Engineering Mathematics and Computing Laboratory, University of Heidelberg, Germany.
    Heuveline, Vincent
    Engineering Mathematics and Computing Laboratory, University of Heidelberg, Germany.
    PDE Modeling with Modelica via FMI import of Hiflow3 C++ Components with Parallel Multi-Core Simulations2014Conference paper (Refereed)
    Abstract [en]

    The Modelica modeling and simulation language is widely used in academia and industry to model complex, coupled dynamic systems which can be described by systems of ordinary differential equations (ODE) or differential algebraic equations (DAE). Recent work by the authors showed a way to enable partial differential equation (PDE) modeling with Modelica via functional mock-up interface (FMI) import of C++ components based on the multi-purpose finite element library HiFlow3. The finite element method (FEM) is largely used in both research and industry as a reliable technique for solving PDE problems. In contrast to methods based on language extensions or automatic semi-discretizations in space, the approach with FMI import of HiFlow3 components into Modelica requires no change to the Modelica language, enables the use of specialized PDE solvers, and it allows for full flexibility in the choice of geometry, model parameters, and space discretization between simulation runs without recompilation. However, the computationally intensive PDE solving part in this approach can form a bottleneck in the simulations. In this work, we enhance the PDE solver by using a distributed memory parallelization based on a domain decomposition. As an example application, we consider a mechanical linear elasticity problem consisting of physical forces applied on a beam. Beams, plates and shells are common elements of solid structures with a sizable quantity of application in engineering design, appearing in fuselage, ship hulls, concrete roof structure, etc. The derivation of elastic stress strain relations is a crucial point for mechanical analysis and validation, as the bending properties of the structure effects greatly the stability properties. In this work the actual beam is modeled and solved in parallelusing a C++ HiFlow3 component whereas the physical force acting on the beam is modeled using Modelica. We use the OpenModelica development environment but the same approach can be adapted to other Modelica environments.

  • 7.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Contributions to Parallel Simulation of Equation-Based Models on Graphics Processing Units2011Licentiate thesis, monograph (Other academic)
    Abstract [en]

    In this thesis we investigate techniques and methods for parallel simulation of equation-based, object-oriented (EOO) Modelica models on graphics processing units (GPUs). Modelica is being developed through an international effort via the Modelica Association. With Modelica it is possible to build computationally heavy models; simulating such models however might take a considerable amount of time. Therefor techniques of utilizing parallel multi-core architectures for simulation are desirable. The goal in this work is mainly automatic parallelization of equation-based models, that is, it is up to the compiler and not the end-user modeler to make sure that code is generated that can efficiently utilize parallel multi-core architectures. Not only the code generation process has to be altered but the accompanying run-time system has to be modified as well. Adding explicit parallel language constructs to Modelica is also discussed to some extent. GPUs can be used to do general purpose scientific and engineering computing. The theoretical processing power of GPUs has surpassed that of CPUs due to the highly parallel structure of GPUs. GPUs are, however, only good at solving certain problems of data-parallel nature. In this thesis we relate several contributions, by the author and co-workers, to each other. We conclude that the massively parallel GPU architectures are currently only suitable for a limited set of Modelica models. This might change with future GPU generations. CUDA for instance, the main software platform used in the thesis for general purpose computing on graphics processing units (GPGPU), is changing rapidly and more features are being added such as recursion, function pointers, C++ templates, etc.; however the underlying hardware architecture is still optimized for data-parallelism.

  • 8.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Contributions to Simulation of Modelica Models on Data-Parallel Multi-Core Architectures2015Doctoral thesis, monograph (Other academic)
    Abstract [en]

    Modelica is an object-oriented, equation-based modeling and simulation language being developed through an international effort by the Modelica Association. With Modelica it is possible to build computationally demanding models; however, simulating such models might take a considerable amount of time. Therefore techniques of utilizing parallel multi-core architectures for faster simulations are desirable. In this thesis the topic of simulation of Modelica on parallel architectures in general and on graphics processing units (GPUs) in particular is explored. GPUs support code that can be executed in a data-parallel fashion. It is also possible to connect and run several GPUs together which opens opportunities for even more parallelism. In this thesis several approaches regarding simulation of Modelica models on GPUs and multi-core architectures are explored.

    In this thesis the topic of expressing and solving partial differential equations (PDEs) in the context of Modelica is also explored, since such models usually give rise to equation systems with a regular structure, which can be suitable for efficient solution on GPUs. Constructs for PDE-based modeling are currently not part of the standard Modelica language specification. Several approaches on modeling and simulation with PDEs in the context of Modelica have been developed over the years. In this thesis we present selected earlier work, ongoing work and planned work on PDEs in the context of Modelica. Some approaches detailed in this thesis are: extending the language specification with PDE handling; using a software with support for PDEs and automatic discretization of PDEs; and connecting an external C++ PDE library via the functional mockup interface (FMI).

    Finally the topic of parallel skeletons in the context of Modelica is explored. A skeleton is a predefined, generic component that implements a common specific pattern of computation and data dependence. Skeletons provide a high degree of abstraction and portability and a skeleton can be customized with user code. Using skeletons with Modelica opens up the possibility of executing heavy Modelica-based matrix and vector computations on multi-core architectures. A working Modelica-SkePU library with some minor necessary compiler extensions is presented.

  • 9.
    Stavåker, Kristian
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Generation of Simulation Code from Equation-Based Models for Execution on CUDA-Enabled GPUs2010In: Proceedings of the 3rd Swedish Workshop on Multi-Core Computing, 2010Conference paper (Refereed)
    Abstract [en]

    In this paper we present some of our work on approaches of generating simulation code from equation-based mathematical models that can be executed on parallel architectures, especially CUDA-enabled GPUs. The models are written in the objectoriented equation-based language Modelica. We show that it is possible to automatically generate simulation code for purecontinuous-time models that can be reduced to an ordinary differential equation system without algebraic loops and where the initial values of all variables and parameters are known at compile time. Implementation work has been carried out in the OpenModelica compiler (an open source implementation of a Modelica compiler). In this paper we discuss previous, ongoing, and potentially future work

  • 10.
    Stavåker, Kristian
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Compiling and Using Pattern Matching in Modelica2008In: Proceedings of the 6th International Modelica Conference, March 3rd-4th, 2008, University of Applied Sciences Bielefeld, Bielefeld, Germany / [ed] Bernhard Bachmann, Modelica Website: Modelica Association , 2008, p. 637-645Conference paper (Refereed)
    Abstract [en]

    Pattern matching is a well-known, powerful language feature found in functional programming languages. In this paper we present the implementation of pattern matching for Modelica. A pattern matching construct is useful for classification and decomposition of (possibly recursive) hierarchies of components such as the union type structures in the MetaModelica language extension. We argue that pattern matching not only is useful for language specification (as in the MetaModelica case) but also to write functional-style programs. One useful application is in list processing (lists are currently missing from Modelica but are part of MetaModelica). Other possible applications are in the generation of models from other models, e.g. the generation of models with uncertainty equations or models with different parameters. Another application is the generation of documentation from models and checking of guidelines or certain properties of models.

  • 11.
    Stavåker, Kristian
    et al.
    Linköping University, Department of Computer and Information Science.
    Rolls, D.
    School of Computer Science, University of Hertfordshire, United Kingdom.
    Guo, J.
    School of Computer Science, University of Hertfordshire, United Kingdom.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    Scholz, S.-B.
    School of Computer Science, University of Hertfordshire, United Kingdom.
    Compilation of modelica array computations into single assignment C for efficient execution on CUDA-enabled GPUs2010In: Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, EOOLT 2010 - In Conjunction with MODELS 2010 / [ed] Peter Fritzson, Edward Lee, François Cellier, David Broman, Linköping University Electronic Press , 2010, p. 81-90Conference paper (Refereed)
    Abstract [en]

    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.

  • 12.
    Stavåker, Kristian
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Ronnås, Staffan
    Heidelberg University,Germany.
    Wlotzska, Martin
    Heidelberg University,Germany.
    Heuveline, Vincent
    Heidelberg University,Germany.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    PDE Modeling with Modelica via FMI Import of HiFlow3 C++ Components2013In: SIMS 54th conference, 2013Conference paper (Refereed)
    Abstract [en]

    Despite an urgent need and desire in academia as well as in industry for modeling Partial Differential Equations (PDEs) using the increasingly popular Modelica modeling and simulation language, there is limited support for this available at the moment. In this work, we propose a solution based on importing PDE models with PDE solvers implemented using the general-purpose parallel finite element library HiFlow3 as models into the Modelica environment using the standard Functional Mock-up Interface. In contrast to methods based on language extensions or automatic semidiscretizations in space, this approach requires no change to the language, and enables the use of specialized PDE solvers. Furthermore, it allows for full flexibility in the choice of geometry, model parameters, and space discretization between simulation runs without recompilation needed. This makes it possible to exploit advanced features of the PDE solver, such as adaptive mesh refinement,and to build complex multi-physics simulations by coupling different models, of both PDE and DAE type, in a straightforward manner using Modelica. We illustrate our method with an example that couples a Modelica Proportional-Integral-Derivative controller to a PDE solver for the unsteady heat equation in a 3D domain.

  • 13.
    Östlund, Per
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Stavåker, Kristian
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Parallel Simulation of Equation-Based Models on CUDA-Enabled GPUs2010In: Proceedings of the 9th Workshop on Parallel/High-Performance Object-Oriented Scientific Computing POOSC '10, New York, USA: ACM , 2010Conference paper (Refereed)
    Abstract [en]

    Our contributions with this work are methods and a prototype implementation for compiling and executing a limited set of equation-based mathematical models (written in the object-oriented equation-based modeling language Modelica) on CUDA-enabled GPUs. We look at methods of finding parallelism in Modelica models, that can be used on the massively parallel CUDA architecture. The methods have been implemented in a new back-end module of the OpenModelica compiler (an open-source Modelica compiler). This paper shows that it is possible to automatically generate simulation code for pure continuous-time models that can be reduced to an ordinary differential equation system without algebraic loops and where the initial values of all variables and parameters are known at compile time. It is possible to get some speedup compared with simulation on a single CPU core, a (approximated) relative speedup of 4.6 was for instance obtained for one model.

1 - 13 of 13
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf