Table of Contents
Plan of lectures
Lecture materials
Development of Data-Parallel Programming
Goals of this lecture
Contents of Lecture
Moore’s law and massive parallelism
Niches for massive parallelism today
Data parallelism
Programming languages for massive parallelism
Why special languages for data-parallelism?
Advent of MIMD computers.
The road to HPF
ILLIAC IV
Architecture of the ILLIAC IV
ILLIAC IV CFD
Data types in CFD
Vector aligned arrays in CFD
Parallel computation in CFD
Other ILLIAC languages
ICL DAP FORTRAN
Constrained arrays in DAP FORTRAN
Array assignments in DAP Fortran
Standardized array processing: Fortran 90
Fortran 90 array assignments
Scalars in array expressions
Array sections
Array assignments
Array intrinsics
The Connection Machine
CM Fortran
Mapping arrays in CM Fortran
Layout of CM arrays
LAYOUTdirectives in CM Fortran
ALIGN directives in CM Fortran
Layouts and alignments in CM Fortran
FORALL
Languages related to CM Fortran
The High Performance Fortran Forum
Multiprocessing and Distributed Data
Excessive communication
Bad load balancing
Ideal decomposition
Placement of data and computation
Stages of data mapping in HPF
Processor arrangements
Templates
Simple block distribution
Simple cyclic distribution
Block distribution with specified block-size
Block-cyclic distribution
Distributing a multidimensional template
LU Decomposition algorithm
Parallel LU Decomposition
Simple align directive
Aligning auxiliary arrays
Alignment of arrays in LU example
Communication in LU example
Distribution in LU example
LU example with directives
Other alignment options
Intra-dimensional alignment example
Next Lecture:
|