


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The use of message passing interface (mpi) and open multi-processing (openmp) in parallel programming, with examples from the cmsc 714 course at carnegie mellon university. The differences between mpi and openmp, the advantages of using both, and specific applications in fields such as hydrology, computational chemistry, linear algebra, seismic processing, and computational fluid dynamics.
Typology: Study notes
1 / 4
This page cannot be seen from the preview
Don't miss anything!



CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 2
Notes
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 3
OpenMP + MPI
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 4
Types of parallelism in the codes
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 5
CGWAVE
z Finite elements - MPI parameter space evaluation at outer loop, OpenMP sparse linear equation solver in inner loops
z Speedup using 2 levels of parallelism allows modeling larger bodies of water possible in a reasonable amount of time
z Master-worker strategy for dynamic load balancing in MPI part/component z Solver for each component solves large sparse linear system with OpenMP to parallelize
z On SGI Origin 2000 (distributed shared memory machine), use first touch rule to migrate data for each component to the processor that uses it
z Performance results show that best performance obtained using both MPI and OpenMP, with a combination of MPI workers and OpenMP threads that depends on the problem/grid size
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 7
Notes
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 8
GAMESS
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 9
Linear algebra
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 10
SPECseis
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 11
TLNS3D
z CFD in Fortran77, uses MPI across grids and OpenMP to parallelize each grid
z Multiple, non-overlapping grids/blocks that exchange data at boundaries periodically
z Static block assignment to processors – divide blocks into groups of about equal number of grid points for each processor
z Master-worker execution model for MPI level, then parallelize 3D loops for each block with OpenMP
z Hard to balance MPI workers vs. OpenMP threads per block – tradeoff minimizing load imbalance vs. communication and synchronization cost z Seems to work best on DSMs, but can be done well on distributed memory systems
z No performance results! CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 12
CRETIN
CMSC 714, Fall05 - Alan Sussman & Jeffrey K. Hollingsworth 19
Applications
z AMR3D