Given by Chuck Koelbel -- Rice University at DoD Training and Others on 1995-98. Foils prepared August 7 98
Outside Index
Summary of Material
Second Presentation in Chuck Koelbel's Tutorial Sequence on HPF |
Short Overview of Fortran 90 for HPF users
|
Outside Index Summary of Material
1. Introduction to Data-Parallelism |
2. Fortran 90/95 Features *** This Presentation |
3. HPF Parallel Features |
4. HPF Data Mapping Features |
5. Parallel Programming in HPF |
6. HPF Version 2.0 |
Fortran 90 is a major extension of FORTRAN 77 including:
|
Adopted by ANSI and ISO in 1991 (hence ³F90²) |
Fortran 95 is the newest international standard for Fortran
|
It is a small delta from Fortran 90
|
Work is progressing on Fortran 2000
|
F2K will be another major upgrade (although not so great as F90)
|
ALLOCATABLE arrays use heap storage
|
Local arrays use stack storage
|
Assumed-shape arrays can pass array sizes
|
Allocating arrays in main program
|
Passing assumed-shape arrays
|
Whole arrays and array subsections can be used in many operations formerly limited to scalar values.
|
Subsections specified by triplet notation
|
Array constructors to produce array-valued constants (with implied DO) |
Scaling
|
Computing a residual (version 1)
|
Computing a residual (version 2)
|
Elemental intrinsics
|
Transformational intrinsics
|
Array query intrinsics
|
Initialization
|
Computing the error
|
Prolongation
|
Explicit and implicit interfaces
|
INTERFACE blocks provide explicit interfaces
|
MODULE provides type-safe libraries
|
Option 1: Use Fortran 77-style arguments
|
Option 2: Use assumed-shape arrays
|
Declare arrays to be the natural size and shape
|
Array operations are great for data parallelism
|
Use MODULE and INTERFACE
|
Complicated data structures are possible
|