Outline

1/17/98


Click here to start


Table of Contents

Outline

A Short History of HPF

HPF Vendors

High Performance Fortran

Data-Parallel Languages

How HPF Is Implemented

HPF Implementation Effects on Programmers

HPF Language Features

Outline

Data Parallelism

Fortran 90

FORALL Statement

Nested FORALL Statements

Why Use FORALL?

Why Use FORALL? (2)

PURE Functions

PURE Functions and FORALL

PURE for Mandelbrot Sets

Avoiding the PURE Function in Mandelbrot

INDEPENDENT Assertion

INDEPENDENT with Nested Loop

Meaning of INDEPENDENT

INDEPENDENT Assertion Can Depend on Data

Why Use INDEPENDENT?

Why Use INDEPENDENT? (2)

Implementation of FORALL and INDEPENDENT

Implementation of FORALL and INDEPENDENT (2)

Implementation of FORALL and INDEPENDENT (3)

The HPF Library

HPF Library Contents

HPF Library

GRADE_UP vs SORT_UP

Implementation of HPF Library

Uses of Data-Parallel Features

EXTRINSIC Routines

EXTRINSIC as a Contract

EXTRINSIC as a Contract (2)

EXTRINSIC(HPF_LOCAL)

EXTRINSIC(HPF_LOCAL) Example

Outline

Data Mapping

DISTRIBUTE Directive

More Examples of DISTRIBUTE

Choosing a Good Distribution

Choosing a Good Distribution (2)

Choosing a Good Distribution (3)

DISTRIBUTE and Load Balance

Implementation of DISTRIBUTE

Implementation of DISTRIBUTE (2)

ALIGN Directive

More Examples of ALIGN

Yet More Examples of ALIGN

Why Use ALIGN?

Implementation of ALIGN

Uses of Mapping Features

Data Mapping for Dummy Arguments

HPF Mapping Options for Dummy Arguments

Subroutine Interfaces for Dummies™

Explicit Subroutine Interfaces

Explicit Subroutine Interfaces (2)

Specialized and Generalized Mappings

Specialized and Generalized Mappings in Words

Specialized and Generalized Mappings in Words (2)

Dynamic Data Mappings

Examples of DYNAMIC

Outline

Designing HPF Programs

Gaussian Elimination Algorithm

Gaussian Elimination: HPF Issues

Gaussian Elimination: HPF Program

Conjugate Gradient Algorithm I

Conjugate Gradient Algorithm II

Conjugate Gradient: HPF Issues

Conjugate Gradient: HPF Program I

Conjugate Gradient: HPF Program II

Outline

Structure of HPF 2

Features of HPF 2

New Parallel Features: REDUCTION

New Parallel Features: ON

New Parallel Features: TASK_REGION

New Data Mappings

New Data Mappings (2)

Data Mappings for Pointers

Input/Output

Example: Irregular Mesh

HPF 1 Example: Irregular Mesh

HPF 1 Example: Irregular Mesh (2)

HPF 2 Example: Irregular Mesh

HPF 2 Example: Irregular Mesh (2)

Implementation Challenges for HPF 2

HPF Summary

Author: Carl Kesselman et al

Email: jake@npac.syr.edu

Home Page: http://www.npac.syr.edu/users/jake