Find this at http://www.npac.syr.edu/users/gcf/cps615laplace97/

CPS615 Laplace Example -- Programming Models and Performance

Given by Geoffrey C. Fox at CPS615 Basic Simulation Track for Computational Science on Fall Semester 97. Foils prepared 2 September 1997

This takes Jacobi Iteration for Laplace's Equation in a 2D square and uses this to illustrate:
Programming in both Data Parallel (HPF) and Message Passing (MPI and a simplified Syntax)
SPMD -- Single Program Multiple Data -- Programming Model
Stencil dependence of Parallel Program and use of Guard Rings
Collective Communication
Basic Speed Up,Efficiency and Performance Analysis with edge over area dependence and consideration of load imbalance and communication overhead effects.


Table of Contents for CPS615 Laplace Example -- Programming Models and Performance


001 CPS615 -- Base Course for the Simulation Track of Computational 
    Science
    Fall Semester 1997 --
    The Laplace Example
    Programming and Performance
002 Abstract of Laplace Example for CPS615
003 Parallel Computing 
    Algorithms and 
    Software --
    Laplace Example
004 The Solution of Laplace's Equation
005 Discretized Form of Laplace'e Equation on a Parallel Processor
006 Basic Structure of Domain to be Updated in Parallel Version
007 Sequential and Introduction to Parallel Coding for the
    Laplace Example
008 SEQUENTIAL LAPLACE PROGRAMMING 
    JACOBI ITERATION IN ONE DIMENSION 
    (constant in y direction)
009 SEQUENTIAL LAPLACE PROGRAMMING 
    JACOBI ITERATION IN TWO DIMENSIONS
010 Approaches to Parallel Programming 
011 SPMD or SCMD
    Single Program (code) Multiple Data
012 Data Parallel
    Programming for
    Laplace Example
013 Parallel Laplace Programming 
    Data Parallel for Jacobi Iteration in One Dimension 
014 Notes on HPF Implementation of Lapace Solver
015 Message Passing Model
    Used for Parallel
    Programming for
    Laplace Example
016 Basic Message Passing Approach
017 Various Styles/Terms in Messaging Passing - I
018 Various Styles/Terms in Messaging Passing - II
019 Parallel Laplace Programming: Set Up of 
    Message Passing for Jacobi Iteration in One Dimension
020 Node Program: Message Passing for Laplace Sover
021 Collective Communication Primitives
022 Implementation of MPSHIFT(+1, SOURCE,DEST)
023 Possible Implementation of MPSHIFT in MPI
024 Implementation of SHIFT in MPI
025 Implementation of GLOBALMAX (TEST)
026 General Features
    of
    Laplace Example
027 What does the Laplace Update calculation look like?
028 The Various Stencil Special Cases
029 Communication Loads
030 What is the relation of sequential and parallel programming models
     ?
031 More on SPMD Programming Model and Sequential/Parallel Comparison
032 Programming with Guard Rings - Sequential
033 Programming with Guard Rings - Parallel 
034 Special Case of Corner Processor
035 Analysis of Parallel Overheads
    Efficiency and
    Speedup
036 General Formalism for Speed Up
037 What Affects Speed Up ?
038 Load Imbalance and Speed-Up for Laplace Example -- I
039 Load Imbalance and Speed-Up for Laplace Example -- II
040 Analytical Analysis of Load Imbalance
041 Communication Overhead
042 Analytical Form of Speed Up for Communication Overhead
043 General Form of Efficiency
044 Communication to Calculation Ratio as a function of template 
045 Performance for Increasing Stencil
046 Matrix Multiplication on the Hypercube
047 Efficiency of QCD Physics Simulation on JPL MarkIIIfp Hypercube
048 General Analysis of Overheads and Efficiency
049 Speed Up as a Function of Grain Size


© on Tue Oct 7 1997