Issues in Translation of High Performance Fortran

1/28/00


Click here to start


Table of Contents

Issues in Translation of High Performance Fortran

Goals of this lecture

Contents of Lecture

A simple HPF program

Translation of simple program

Setting up the environment

Allocating segment of the distributed array

Testing this processor holds a segment

Computing parameters of locally held segment

Loop over local elements

An HPF procedure

Procedure call with block-distributed actual

Procedure call with cyclically distributed actual

Procedure call with strided alignment of actual

Procedure call with row-aligned actual

The problem

Requirements for an array descriptor

Distributed array dimensions

Converting block distribution to cyclic distribution

Distributed ranges

Dealing with “hidden” dimensions of sections

DAD groups

Representing processor arrangements

Hierarchy of process grids

Interface of Procs and Dimension

Using Procs in translation

Restricted process groups

Example restricted groups in 2-dimensional grid

Representation of subgrids

The Group class

Ranges

A hierarchy of ranges

Interface of the Range class

Translating simple HPF program to C++

Features of C++ translation

The Block and Location structures

Memory strides

A DAD

Interface of the DAD class

Map structure

Translating HPF program with inherited mapping

Translation of call with block-distributed actual

Translation of call with cyclically distributed actual

Translation of call with strided alignment of actual

Translation of call with row-aligned actual

Other features of the Adlib DAD

Other features of the Adlib DAD, II

Next Lecture:

Email: dbc@npac.syr.edu

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