The Queen's University of Belfast

Parallel Computer Centre
[Next] [Previous] [Top]
Further
Development
Fortran 95
- Corrections to Fortran 90
- FORALL
FORALL (i = 1:n, j = 1:n, y(i, j) /= 0 .AND. i /= j) &
x(i, j) = 1.0 / y(i, j)
FORALL (i = 1:n)
a(i, i) = i
b(i) = i*I
END FORALL
- PURE attribute - make PURE procedures safe for use in FORALL statement
- CPU time - CALL CPU_TIME(t1)
- Also allocatable dummy arguments and results
- Nested WHERE
WHERE (mask1)
...
WHERE (mask2)
...
ELSEWHERE
...
ENDWHERE
ELSEWHERE
...
ENDWHERE
- Initial pointer or type default status
REAL, POINTER :: p(:) => NULL()
TYPE string
CHARACTER, POINTER :: ch(:) => NULL()
ENDTYPE
Further development
With FORTRAN 90 barely out of cradle,
why are there already efforts to enhance it?
- The limelight of HPC research has recently shifted away from vector computers and towards parallel and "massive" parallel computers
- Fortran 90 may be suitable for HPC on conventional and vector computers, but it does not include features to obtain the best performance on parallel systems.
- Demands for such features has led to the development of two de facto standards:
- High Performance Fortran (HPF)
- Message Passing Interface (MPI)
HPF
Goals
HPF provides a set of language extensions to Fortran 90 to support:
- Data parallel programming
- Top performance on MIMD and SIMD computers with non-uniform memory access
- Code tuning for various architectures
- Minimal deviation from other standards
- Define open interfaces to other languages
What is in it
- Compiler directives for data alignment and distribution
- Concurrent execution features using the FORALL statement
- A number of intrinsic functions to enquire about machine specific details
- A number of extrinsic functions which provide an escape mechanism from HPF
- A library of routines to support global operations
MPI
What
Message Passing Interface is a proposed standard for:
- Explicit message passing
- Application programs
- MIMD distributed memory concurrent computers
- Workstation networks
Why
- Portability and ease-of-use
- Time right for standard
- Library construction
- Prerequisite for development of concurrent software industry
- Provides hardware vendors with well-defined set of routines that they must implement efficiently
[Next] [Previous] [Top]
All documents are the responsibility of, and copyright, © their authors and do not represent the views of The Parallel Computer Centre, nor of The Queen's University of Belfast.
Maintained by Alan Rea, email A.Rea@qub.ac.uk
Generated with CERN WebMaker