Drs. G. Larrazabal, S. Rojas-Course Description

DR. GERMAN LARRAZABAL
University of Carabobo
Carabobo, Venezuela
glarraza@uc.edu.ve
DR. SERGIO ROJAS
Universidad Simón Bolívar
Sarteneja, Venezuela
srojas@usb.ve

Introduction to Cluster Computing with MPI for Scientific and Engineering Applications

1. Rationale
Currently, with the help of increasing computer power and advances in computational methodologies, the modeling of physical and engineering problems is becoming a complex task involving more realistic time-consuming simulations. Examples are computations involved in deciphering the human gnome, computational fluid dynamics of realistic turbulence models, oil and geophysical exploration problems, environmental and economic modeling and so on.

The application of parallel programming techniques is then becoming a necessity to help to tackle down such important problems in a reasonable amount of time. Accordingly, becoming knowledgeable in the subject of scientific parallel programming is basically a necessity of paramount importance.

This course introduces and motivates the organization and use of the Message Passing Interface (MPI) as one of the accepted parallel computing environments standards and provides the first steps to apply these techniques to solve large, time consuming, scientific academic, industrial problems.

2. Course Objective
Attendees will be able to write parallel scientific application codes using MPI.

3. Rationale
Students in any of the sciences and engineering fields of study who are interested in the large-scale solution of numerical problems modeled in terms of partial differential equations or Montecarlo methods.

4. Recommended Background
The attendees should have experience in programming in Fortran 90, C++, and some knowledge of numerical methods applied in science and engineering.

5. Others
Capabilities for parallel processing via MPI will be needed. The Center of High Performance Computing, The Andes University of Venezuela (CeCalCULA) could help to set up a small cluster of PCs if necessary.

6. Preliminary General Contents
Part I: Concept of parallel programming and computational architecture.
Part II: Introduction to MPI and applications.
Part III: Intermediate MPI and applications.

7. Main References
   Gropp, W., Lusk, E., and Skjellum, A. (1996). Using MPI: Portable Parallel Programming with the Message-Passing Interface. The MIT Press.
   Karnadiakis, G.E. and Kirby, R.M. (2003). Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and Their Implementation. Cambridge.

8. Online References
To be collected.