liu.seSearch for publications in DiVA
Change search
Link to record
Permanent link

Direct link
BETA
Andersson, Niclas
Publications (3 of 3) Show all publications
Andersson, N. & Fritzson, P. (1997). Object Oriented Mathematical Modelling and Compilation to Parallel Code. In: Athanasios Migdalas, Panos M. Pardalos and Sverre Storøy (Ed.), Parallel Computing in Optimization: . Kluwer Academic Publishers
Open this publication in new window or tab >>Object Oriented Mathematical Modelling and Compilation to Parallel Code
1997 (English)In: Parallel Computing in Optimization / [ed] Athanasios Migdalas, Panos M. Pardalos and Sverre Storøy, Kluwer Academic Publishers, 1997Chapter in book (Other academic)
Abstract [en]

The current state of the art in programming for scientific computing is still rather low-level. The mathematical model behind a computing application usually is written using pen and paper, whereas the corresponding numerical software often is developed manually in Fortran or C. This is especially true in application areas such as mechanical analysis, where complex non-linear problems are the norm, and high performance is required. Ideally, a high-level programming environment would provide computer support for these development steps. This motivated the development of the ObjectMath system. Using ObjectMath, complex mathematical models may be structured in an object oriented way, symbolically simplified, and transformed to efficient numerical code in C++ or Fortran.

However, many scientific computing problems are quite computationally demanding, which makes it desirable to use parallel computers. Unfortunately, generating parallel code from arbitrary mathematical models is an intractable problem. Therefore, we have focused most of our efforts on a specific problem domain where the main computation is to solve ordinary differential equation systems where most of the computing time is spent in application specific code, rather than in the serial solver kernel. We have investigated automatic parallelisation of the computation of ordinary differential equation systems at three different levels of granularity: the equation system level, the equation level, and the clustered task level. At the clustered task level we employ domain specific knowledge and existing scheduling and clustering algorithms to partition and distribute the computation.

Place, publisher, year, edition, pages
Kluwer Academic Publishers, 1997
Series
Applied optimization ; 7
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-110157 (URN)0-7923-4583-5 (ISBN)
Available from: 2014-09-03 Created: 2014-09-03 Last updated: 2014-10-02
Andersson, N. & Fritzson, P. (1996). Overview and industrial application of code generator generators. Journal of Systems and Software, 32(3), 185-214
Open this publication in new window or tab >>Overview and industrial application of code generator generators
1996 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 32, no 3, p. 185-214Article in journal (Refereed) Published
Abstract [en]

During the past 10 to 15 years, there has been active research in the area of automatically generating the code generator part of compilers from formal specifications. However, little has been reported on the application of these systems in an industrial setting. This paper attempts to fill this gap, in addition to providing a tutorial overview of the most well-known methods. Four systems for automatic generation of code generators are described in this paper. CGSS, BEG, TWIG and BURG. CGSS is an older Graham-Glanville style system based on pattern matching through parsing, whereas BEG, TWIG, and BURG are more recent systems based on tree pattern matching combined with dynamic programming. An industrial-strength code generator previously implemented for a special-purpose language using the CGSS system is described and compared in some detail to our new implementation based on the BEG system. Several problems of integrating local and global register allocations within automatically generated code generators are described, and some solutions are proposed. In addition, the specification of a full code generator for SUN SPARC with register windows using the BEG system is described. We finally conclude that current technology of automatically generating code generators is viable in an industrial setting. However, further research needs to be done on the problem of properly integrating register allocation and instruction scheduling with instruction selection, when both are generated from declarative specifications.

Place, publisher, year, edition, pages
Elsevier, 1996
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-109760 (URN)10.1016/0164-1212(95)00124-7 (DOI)
Available from: 2014-08-27 Created: 2014-08-27 Last updated: 2017-12-05Bibliographically approved
Andersson, N. & Fritzson, P. (1995). Generating Parallel Code from Object Oriented Mathematical Models. In: PPOPP 1995: . Paper presented at Fifth ACM SIGPLAN symposium on Principles and practice of parallel programming, Santa Barbara, California, July 19-21, 1995 (pp. 48-57).
Open this publication in new window or tab >>Generating Parallel Code from Object Oriented Mathematical Models
1995 (English)In: PPOPP 1995, 1995, p. 48-57Conference paper, Published paper (Refereed)
Abstract [en]

For a long time efficient use of parallel computers has been hindered by dependencies introduced in software through low-level implementation practice. In this paper we present a programming environment and language called Object-Math (Object oriented Mathematical language for scientific computing), which aims at eliminating this problem by allowing the user to represent mathematical equation-based models directly in the system. The system performs analysis of mathematical models to extract parallelism and automatically generates parallel code for numerical solution.In the context of industrial applications in mechanical analysis, we have so far primarily explored generation of parallel code for solving systems of ordinary differential equations (ODEs), in addition to preliminary work on generating code for solving partial differential equations. Two approaches to extracting parallelism have been implemented and evaluated: extracting parallelism at the equation system level and at the single equation level, respectively. We found that for several applications the corresponding systems of equations do not partition well into subsystems. This means that the equation system level approach is of restricted general applicability. Thus, we focused on the equation-level approach which yielded significant parallelism for ODE systems solution. For the bearing simulation applications we present here, the achieved speedup is however critically dependent on low communication latency of the parallel computer.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-110106 (URN)10.1145/209936.209943 (DOI)0-89791-700-6 (ISBN)
Conference
Fifth ACM SIGPLAN symposium on Principles and practice of parallel programming, Santa Barbara, California, July 19-21, 1995
Available from: 2014-09-02 Created: 2014-09-02 Last updated: 2014-10-03
Organisations

Search in DiVA

Show all publications