A Guidebook to Fortran on Supercomputers

A Guidebook to Fortran on Supercomputers

1st Edition - November 28, 1988

Write a review

  • Authors: John M. Levesque, Joel W. Williamson
  • eBook ISBN: 9781483265711

Purchase options

Purchase options
DRM-free (PDF)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


A Guidebook to Fortran on Supercomputers presents in detail both the underlying architecture of supercomputers and the manner by which a compiler maps Fortran code onto that architecture. This book outlines the constructs preventing full optimization and provides specific strategies for restructuring a program. Organized into four chapters, this book begins with an overview of the basic concepts of vector, scalar, and parallel processing. This text then provides an in-depth look at the architectural features of a variety of existing machines, with emphasis to the features common to many of them. Other chapters consider the optimization techniques used by compilers and how a programmer can take advantage of this knowledge in restructuring existing programs and in the development of new applications. The final chapter presents examples of loops from real-world programs, with a discussion of the inherent problems. This book is a valuable resource for scientists, engineers, students, and research workers.

Table of Contents

  • Preface

    1. Introduction

    1.1 Conventional Computers

    1.2 What's a Supercomputer Anyway?

    1.3 Terminology

    1.3.1 Scalar

    1.3.2 Vector and Stride

    1.3.3 Parallel and Concurrent

    1.4 Amdahl's Law

    1.4.1 Amdahl's Law for Vector Processors

    1.4.2 Amdahl's Law for Parallel Processors

    1.5 Summary


    2. Supercomputer Architecture

    2.1 Basic Features

    2.1.1 Clock Cycle and Performance Measures

    2.1.2 Registers

    2.1.3 Functional Units

    2.1.4 Memory Banks

    2.1.5 Memory Caches

    2.1.6 Instruction Streams and Data Streams

    2.1.7 Summary

    2.2 The Vector Processor

    2.2.1 Memory-to-Memory Vector Processes

    2.2.2 ETA 10

    2.2.3 Register-to-Register Vector Processes


    3. Fortran

    3.1 Standard Fortran

    3.1.1 Array Layout in Memory

    3.2 Compilers

    3.2.1 Machine-Independent Optimizations

    3.2.2 Machine-Dependent Optimizations

    3.3 Vectorization

    3.3.1 Explicit Vectorization

    3.3.2 Implicit Vectorization


    4. Vectorization of Fortran Programs

    4.1 Obtaining Timing Statistics

    4.1.1 Flow Trace

    4.1.2 FORGE Timing Facility

    4.1.3 How to Use the Timing Statistics

    4.2 Discussion of Amdahl's Law

    4.3 Modularity and Optimization

    4.3.1 Scalar-Valued Routines versus Array-Valued Routines

    4.4 A Systematic Approach to Restructuring

    4.4.1 Possible Inaccuracies Caused by Vectorization

    4.5 Why the Programmer is Needed

    4.5.1 Difficulties of Optimizing "Dusty Deck" Fortran

    4.6 Candidates For Vectorization

    4.7 Vectorization Inhibitors

    4.7.1 Compiler Optimization with Incomplete Information

    4.8 Effects of Array Access on Performance

    4.9 Examples of Restructuring Fortran Loops

    4.9.1 Introduction to Examples

    4.9.2 Accessing Arrays

    4.9.3 Scalar Temporaries (Simple)

    4.9.4 Recursion Involving Arrays

    4.9.5 Scalar Recursion

    4.9.6 More Loop Switching

    4.9.7 Loop Unrolling

    4.9.8 IF Statements

    4.9.9 Subprogram References

    4.9.10 I/O Statements

    4.9.11 Assigned GO TO Statements

    4.9.12 Backward GO TOs

    4.10 Summary



    A. Abbreviations and Glossary

    A.1 Common Abbreviations

    A.2 Glossary of Terms

    B. Examples of the FORGE Timing Facility

    B.1 Timing Results from LINPACK Benchmark

    B.2 Timing Results from HYGRID Program

    C. Loops for Memory-Access Comparison

    C.1 Group 1: Indirect Access with Random Index

    C.2 Group 2: Unitary Stride

    C.3 Group 3: Direct Access with Stride

    D. Solutions to Problems


Product details

  • No. of pages: 230
  • Language: English
  • Copyright: © Academic Press 1988
  • Published: November 28, 1988
  • Imprint: Academic Press
  • eBook ISBN: 9781483265711

About the Authors

John M. Levesque

Joel W. Williamson

Ratings and Reviews

Write a review

There are currently no reviews for "A Guidebook to Fortran on Supercomputers"