Encapsulated OpenMP Parallelization of an Iterative Linear Equation Solver
Used in a Phase Transition Simulation
Diploma thesis of Ralph Altenfeld, July 2010.
In this diploma thesis basic elements of a domain specific language (DSL) which is useful for automatic parallelization of iterative linear equation solvers are developed. The DSL is embedded in Fortran 90/95 and enables a comfortable and easy readable notation of parallel code. The compiler framework MontiCore - aimed for development of DSLs - is examined to build OpenMP parallelized Fortran code from this input. Generally this kind of automatic code generation makes it possible to develop efficient, reusable parallel code for modern ccNUMA computer architectures. Due to problems in defining a Fortran 90/95 grammar for MontiCore prevents a complete implementation using this framework. An iterative solver (BiCGstab) used in a real phase transition simulation serves as an evaluation example for the intended OpenMP code.