HPF in Practice: Tutorial Outline

  1. Introduction to Data-Parallelism
    1. High Performance Fortran Background
    2. Parallel Machines
    3. Parallel Programming Languages
    4. How HPF Is Implemented, and What This Means for Programmers
  2. Fortran 90 Features
    1. What is Fortran 90?
    2. Fortran 90 Memory Allocation
    3. Fortran 90 Array Operations
    4. Fortran 90 Intrinsics
    5. Fortran 90 Procedure Interfaces
    6. Hints for Using Fortran 90
  3. HPF Parallel Features
    1. The FORALL Statement
      1. The Single-Statement FORALL: Syntax and Semantics
      2. The Multi-Statement FORALL: Syntax and Semantics
      3. Examples of FORALL
      4. Why Use FORALL?
      5. Some Implications of FORALL
    2. PURE Functions
      1. PURE Functions: Syntax and Semantics
      2. PURE Functions and FORALL
      3. PURE for Mandelbrot Sets
    3. The INDEPENDENT Directive
      1. The INDEPENDENT Directive: Syntax and Semantics
      2. Examples of INDEPENDENT
      3. The INDEPENDENT Directive: More Details
      4. Examples of Correct INDEPENDENT Assertions
      5. Examples of Incorrect INDEPENDENT Assertions
      6. Typical Uses of INDEPENDENT
      7. Some Implications of INDEPENDENT
    4. The HPF Library and New Intrinsics
    5. EXTRINSIC Procedures
    6. Hints for Using Data Parallel Statements
  4. HPF Data Mapping Features
    1. The DISTRIBUTE Directive
      1. The DISTRIBUTE Directive: Syntax and Semantics
      2. Why Use Distribute?
      3. DISTRIBUTE and Communication
      4. Quantifying Communication With Distribution
      5. Typical Uses of DISTRIBUTE
      6. Multigrid: A Complicated Case for DISTRIBUTE
    2. The ALIGN Directive
      1. The ALIGN Directive:Syntax and Semantics
      2. ALIGN and Communication
      3. Why Use ALIGN?
      4. Typical Uses of ALIGN
      5. Advanced ALIGN Uses
    3. Dynamic Data Mapping
      1. The REALIGN and REDISTRIBUTE Directives
      2. Typical Uses of Dynamic Data Mapping
    4. Data Mapping in Subroutine Calls
      1. Mapping Options for Dummy Arguments
      2. Typical Mappings for Dummy Arguments
    5. Other Mapping Features
      1. Storage and Sequence Association
    6. Hints for Using Data Mapping
  5. Parallel Programming in HPF
    1. Plan of Attack
    2. Gaussian Elimination
    3. Jacobi Iteration
    4. Conjugate Gradient
    5. Irregular Mesh Relaxation
  6. HPF Version 2
    1. HPF 2.0 Features
    2. New Parallel Execution Features
    3. New Data Mapping Features
    4. External Interfaces
tutorial
Back to main tutorial
Last modified: April 30, 1996

Chuck Koelbel
chk@cs.rice.edu