Next: Contents
High Performance Fortran Language Specification
High Performance Fortran Forum
May 3, 1993
Version 1.0
The High Performance Fortran Forum (HPFF), with participation from over
40 organizations, met from March 1992 to March 1993 to discuss and
define a set of extensions to Fortran called High Performance Fortran
(HPF). Our goal was to address the problems of writing data parallel
programs for architectures where the distribution of data impacts
performance. While we hope that the HPF extensions will become widely
available, HPFF is not sanctioned or supported by any official
standards organization.
This is the Final Report, Version 1.0, of the High Performance Fortran
Forum. This document contains all the technical features proposed for
the language. This copy of the draft was processed by on
Thu Jul 21 17:53:44 CDT 1994
.
HPFF encourages requests for interpretation of this document, and
comments on the language defined here. We will give our best effort to
answering interpretation questions, and general comments will be
considered in future HPFF language specifications.
Please send interpretation requests to hpff-interpret@cs.rice.edu.
Your request is archived and forwarded to a group of HPFF
committee members who attempt to respond to it.
Please send comments on the HPF language to hpff-comments@cs.rice.edu. Your comment is archived. Periodically,
the archives are sent to HPFF committee members for their perusal.
Where appropriate, comments are forwarded to the hpff-interpret
list. HPFF invites comments on the technical content of HPF, as well
as on the editorial presentation in the document.
The text of interpretation requests and comments on the language
specification become the property of Rice University.
©1993 Rice University, Houston Texas. Permission to copy
without fee all or part of this material is granted, provided the
Rice University copyright notice and the title of this document
appear, and notice is given that copying is by permission of Rice
University.
- Contents
- Overview
- High Performance Fortran Terms and Concepts
- Data Alignment and Distribution Directives
- Data Parallel Statements and Directives
- Intrinsic and Library Procedures
- Notation
- System Inquiry Intrinsic Functions
- Computational Intrinsic Functions
- Library Procedures
- Generic Intrinsic and Library Procedures
- Specifications of Intrinsic Procedures
- Specifications of Library Procedures
- ALL_PREFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- ALL_SCATTER(MASK,BASE,INDX1, ..., INDXn)
- ALL_SUFFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- ANY_PREFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- ANY_SCATTER(MASK,BASE,INDX1, ..., INDXn)
- ANY_SUFFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- COPY_PREFIX(ARRAY, DIM, SEGMENT)
- COPY_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- COPY_SUFFIX(ARRAY, DIM, SEGMENT)
- COUNT_PREFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- COUNT_SCATTER(MASK,BASE,INDX1, ..., INDXn)
- COUNT_SUFFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- GRADE_DOWN(ARRAY,DIM)
- GRADE_UP(ARRAY,DIM)
- HPF_ALIGNMENT(ALIGNEE, LB, UB, STRIDE, AXIS_MAP, IDENTITY_MAP, DYNAMIC, NCOPIES)
- HPF_TEMPLATE(ALIGNEE, TEMPLATE_RANK, LB, UB, AXIS_TYPE,
AXIS_INFO, NUMBER_ALIGNED, DYNAMIC)
- HPF_DISTRIBUTION(DISTRIBUTEE, AXIS_TYPE, AXIS_INFO,
PROCESSORS_RANK, PROCESSORS_SHAPE)
- IALL(ARRAY, DIM, MASK)
- IALL_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- IALL_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- IALL_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- IANY(ARRAY, DIM, MASK)
- IANY_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- IANY_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- IANY_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- IPARITY(ARRAY, DIM, MASK)
- IPARITY_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- IPARITY_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- IPARITY_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- LEADZ(I)
- MAXVAL_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- MAXVAL_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- MAXVAL_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- MINVAL_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- MINVAL_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- MINVAL_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- PARITY(MASK, DIM)
- PARITY_PREFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- PARITY_SCATTER(MASK,BASE,INDX1, ..., INDXn)
- PARITY_SUFFIX(MASK, DIM, SEGMENT, EXCLUSIVE)
- POPCNT(I)
- POPPAR(I)
- PRODUCT_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- PRODUCT_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- PRODUCT_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- SUM_PREFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- SUM_SCATTER(ARRAY,BASE,INDX1, ..., INDXn, MASK)
- SUM_SUFFIX(ARRAY, DIM, MASK, SEGMENT, EXCLUSIVE)
- Extrinsic Procedures
- Storage and Sequence Association
- Subset High Performance Fortran
- Coding Local Routines in HPF and Fortran 90
- Conventions for Local Subprograms
- Local Routines Written in HPF
- Restrictions
- Argument Association
- HPF Local Routine Library
- GLOBAL_ALIGNMENT(ARRAY, ...)
- GLOBAL_DISTRIBUTION(ARRAY, ...)
- GLOBAL_TEMPLATE(ARRAY, ...)
- ABSTRACT_TO_PHYSICAL(ARRAY, INDEX, PROC)
- PHYSICAL_TO_ABSTRACT(ARRAY, PROC, INDEX)
- LOCAL_TO_GLOBAL(ARRAY, L_INDEX, G_INDEX)
- GLOBAL_TO_LOCAL(ARRAY, G_INDEX, L_INDEX, LOCAL)
- Local Routines Written in Fortran 90
- Example HPF Extrinsic Procedures
- Syntax Rules
- High Performance Fortran Terms and Concepts
- Data Alignment and Distribution Directives
- Data Parallel Statements and Directives
- Extrinsic Procedures
- Storage and Sequence Association
- Syntax Cross-reference
- Nonterminal Symbols That Are Defined
- Nonterminal Symbols That Are Not Defined
- Terminal Symbols
- References
- About this document ...
Next: Contents
paula@erc.msstate.edu
Thu Jul 21 17:05:43 CDT 1994