Development of Data-Parallel Programming

1/26/00


Click here to start


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:

Email: dbc@npac.syr.edu

Home Page: http://www.npac.syr.edu/projects/pcrc/HPJava/beijing.html