The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.

1.

Andersson, Niclas

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.

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.

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.

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.

3.

Andersson, Niclas

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. Linköping University, The Institute of Technology.

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.