A brief discussion of Fortran90 and Fortran77 and why Fortran90 has advantages and disadvantages |
Overview of Key Features of Fortran90 |
See Metcalf and Reid, Fortran90 Explained, Oxford Scientific Publications |
Overview of Key Features of HPF
|
The Future -- HPF2 |
See Chuck Koelbel from Rice University at |
http://renoir.csc.ncsu.edu/MRA/HTML/Workshop2/Koelbel |
001 CPS615 -- Base Course for the Simulation Track of Computational Science Fall Semester 1996 -- Introduction to High Performance Fortran and Fortran 90 002 Abstract of HPF and Fortran90 Technology Discussion 003 HPF is an extension of Fortran 90 004 Why is Fortran90 Easier than Fortran77 005 Important Features of Fortran90 006 Introduction to Fortran90 Arrays - I 007 Introduction to Fortran90 Arrays - II 008 Fortran90 Arrays and Memory Allocation 009 More on Fortran90 Arrays and Subroutines 010 Typical Use of Array and Intrinsic Operations 011 Derived Type in Fortran90 012 Examples of POINTER's in Fortran90 013 MODULEs in Fortran90 014 MODULEs INTERFACES and Overloaded Operators in Fortran90 015 Outline of HPF Discussion 016 Information on HPF and HPF Forum (HPFF) 017 Possible Programming Models 018 Data Parallel Programming Model 019 Parallelism in HPF 020 Fortran77 is part of Fortran90 021 HPF Features 022 What gives high performance in HPF 023 Compiler directives used in HPF 024 What does an HPF Compiler do? 025 Syntax of HPF Directives 026 Data Mapping in HPF 027 Staged Data Mapping in HPF 028 Template in HPF 029 Abstract Processors in HPF 030 Example of Template and Processors 031 Align Directive in HPF 032 Examples of Align Directive 033 Changing Rank in Align Directive 034 Replication in Align Directive 035 General Alignments in HPF 036 Formal Definition of Align Directive 037 More obscure Complicated Examples of Align Directive 038 Distribution Directive in HPF 039 Basic Examples of Distribute Directive 040 Two Dimensional Example of Distribute Directive 041 The Two Basic Distributions in HPF 042 The Example of Matrix Inversion 043 Example of Graphics Rendering 044 Example of Distribute Directive with Complex Alignment 045 Dynamic Data Mapping 046 Advanced Mapping Directives -- ReDistribution and ReAlign 047 Advanced Mapping Directives -- Allocatable arrays and pointers 048 Subprograms in HPF 049 Passing Distributed Arrays as Subprogram Arguments in HPF 050 Mapping Options for Dummy (Subroutine) Arguments 051 Inherit Distribution Directive in HPF 052 Summary of Mapping Directives in HPF 053 Fundamental Parallelism Assumption in HPF 054 Parallel statements and Constructs in HPF 055 Parallelism in Fortran 90 array assignments 056 WHERE (masked array assignment) in HPF 057 WHERE...ELSEWHERE / IF...ELSE constructs in HPF 058 Intrinsic functions in HPF 059 HPF library functions 060 SUM, SUM_PREFIX and SUM_SCATTER defined 061 HPF Intrinsic EXAMPLE: SUM 062 FORALL Statement in HPF 063 Examples of FORALL statements in HPF 064 Semantics of the FORALL statement in HPF 065 Vector Indices in FORALL's 066 Multiple Statement FORALL's 067 HPF FORALL construct Pictorially 068 PURE Functions in HPF 069 Example of PURE Function from Chuck Koelbel 070 The INDEPENDENT Assertion in HPF 071 !HPF$ INDEPENDENT FORALL Pictorially 072 !HPF$ INDEPENDENT DO Pictorially 073 !HPF$ INDEPENDENT, NEW Variable 074 Extrinsics in HPF 075 High Performance Fortran HPF2 Changes 076 ON HOME for Computation Placement 077 Reductions in INDEPENDENT DO Loops 078 Spawning Tasks in HPF 079 New Data Mapping Features in HPF 2.0 - I 080 New Data Mapping Features in HPF 2.0 - II