OpenMP has been marketed as THE emerging standard for shared memory parallelism (SMP). The first compiler for OpenMP is now available on the Origin 2000. In this talk we report on some early experiences with this compiler on a (quasi-)application code, an implementation of the NAS, BT benchmark.
OpenMP includes, of course, the traditional do-loop parallelization. For programmers familiar with Power Fortran this is simply a question of adapting to a slight modification of syntax. Not surprisingly the performance equals that of Power Fortran. This part is easy and straightforward. The interesting thing about OpenMP is that it goes beyond the simple do-loop parallelization and opens possibilities for a more course grain parallelism by splitting the programming in different independent tasks (Parallel sections) and/or creating parallel regions. Combining this with the more fine grained do-loop parallelism keeps the promise of higher scalability than one usually find in SMP-programming. Allowing for nested parallelism OpenMP gives us this opportunity. With appearance of SMP-system scaling beyond 128 processors this is very important new features.
In this talk we focus on those features of OpenMP which extend the model for parallel computing already available with Power FORTRAN. To get a feel for how it works on real application we have applied the techniques to a BT-code for the NAS parallel benchmark and report results on short comming of this first release of the compiler as well as speed-up and scalability results. Comparison with MPI will also be provided.
Back to seminar homepage