A Guidebook to Fortran on Supercomputers - 1st Edition - ISBN: 9780124447608, 9781483265711

A Guidebook to Fortran on Supercomputers

1st Edition

Authors: John M. Levesque Joel W. Williamson
eBook ISBN: 9781483265711
Imprint: Academic Press
Published Date: 28th November 1988
Page Count: 230
Tax/VAT will be calculated at check-out Price includes VAT (GST)
30% off
30% off
30% off
30% off
30% off
20% off
20% off
30% off
30% off
30% off
30% off
30% off
20% off
20% off
30% off
30% off
30% off
30% off
30% off
20% off
20% off
54.95
38.47
38.47
38.47
38.47
38.47
43.96
43.96
72.95
51.06
51.06
51.06
51.06
51.06
58.36
58.36
43.99
30.79
30.79
30.79
30.79
30.79
35.19
35.19
Unavailable
Price includes VAT (GST)
× DRM-Free

Easy - Download and start reading immediately. There’s no activation process to access eBooks; all eBooks are fully searchable, and enabled for copying, pasting, and printing.

Flexible - Read on multiple operating systems and devices. Easily read eBooks on smart phones, computers, or any eBook readers, including Kindle.

Open - Buy once, receive and download all available eBook formats, including PDF, EPUB, and Mobi (for Kindle).

Institutional Access

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

Description

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

Problems

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

Problems

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

Problems

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

Problems

Appendixes

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

Index


Details

No. of pages:
230
Language:
English
Copyright:
© Academic Press 1989
Published:
Imprint:
Academic Press
eBook ISBN:
9781483265711

About the Author

John M. Levesque

Joel W. Williamson