HiPERiSM - High Performance Algorism Consulting
Course HC5: Porting Vector Code to OpenMP
Prerequisites:This course is intended for experienced Fortran and ANSI C programmers who have used vector mainframes and have production code on such systems and need to move it to an SMP parallel implementation. Knowledge of programming vector Supercomputers is an advantage but no prior knowledge of programming (non-vector) parallel computers is assumed.
Objectives:This training course primarily intends to introduce OpenMP to programmers who have no prior experience in (non-vector) parallel computing. As a secondary objective, the target audience also includes those with a background in vector processing systems with a requirement to port vector code to the OpenMP paradigm and learn how to use it. It is anticipated that this approach complements other approaches (1-4) to introducing the OpenMP Language Standard (5) to applications developers. The course teaches participants how to write parallel fortran code using the OpenMP programming paradigm and also how to convert vector constructs into equivalent OpenMP form. The implementations include Shared Memory Parallel (SMP) platforms from workstations to large SMP high performance computers. Special attention is devoted to issues related to porting legacy code to SMP OpenMP implementations.
Duration:3 days organized as follows:
(HC2 and HC5 refer to training work books for the respective courses):
Format:The course is contained in two course workbooks intended for use in one of three ways:
For options (a) and (b) the course workbooks are accompanied by a syllabus.
Some fundamental design principles in developing the course material and work books are:
The workbooks include all source code, sample input, output, and make files needed to compile and execute all programs discussed in the text.
Review of Sections:
This training workbook is arranged into nine chapters described as follows.
For this course the work book for course HC2 is also required as a reference and a summary of contents is given in HC2.
References:1) L. Dagum and R. Menon, OpenMP: An Industry Standard API for Shared-Memory Programming, IEEE Computational Science and Engineering, January-March, 1998, pp 46-55.
2) G. Delic, R. Kuhn, W. Magro, H. Scott, and R. Eigenmann, Minisymposium on OpenMP - A New Portable Paradigm of Parallel Computing: Features, Performance, and Applications, Fifth SIAM conference on Mathematical and Computational Issues in the Geosciences, San Antonio, TX, March 24-27, 1999. (http://www.hiperism.com).
3) C. Koelbel, Short Course on OpenMP in Practice, Fifth SIAM conference on Mathematical and Computational Issues in the Geosciences, San Antonio, TX, March 24-27, 1999.
4) T. Mattson and R. Eigenmann, Tutorial on OpenMP Programmming with OpenMP, SuperComputing SC99, Portland, OR, 15 November, 1999.
5) OpenMP Fortran Application Program Interface, Version 1.1 (November, 1999), http://www.openmp.org.
6) S. Brawer, Introduction to Parallel Programming, Academic Press, Inc., Boston, MA, 1989.
7) W. Gropp, E Lusk, A. Skjellum, Using MPI, Portable Parallel Programming with the Message-Passing Interface, The MIT Press, Cambridge, MA, 1996
8) Peter S. Pacheco, Parallel Programming with MPI, Morgan Kaufman Publishers, Inc., San Francisco, CA, 1997.
HiPERiSM Consulting, LLC, (919) 484-9803 (Voice)
(919) 806-2813 (Facsimile)