MIPSpro Fortran 77 Programmer's Guide

Document Number: 007-2361-007

Front Matter

| List of Figures | List of Examples | List of Tables |

Table of Contents

New Features

About This Manual
Related Publications
Obtaining Publications
Reader Comments

1. Compiling, Linking, and Running Programs
Compiling and Linking
Compiler Options: an Overview
Specifying Features to the Compiler
Specifying the Buffer Size for Direct Unformatted I/O
Object File Tools
Run-Time Considerations

2. Data Types and Mapping
Alignment, Size, and Value Ranges
Access of Misaligned Data

3. Fortran Program Interfaces
Subprogram Names
Correspondence of Fortran and C Data Types
Passing Subprogram Parameters
Calling Fortran from C
Calling C from Fortran

4. System Functions and Subroutines
Library Functions
Extended Intrinsic Subroutines
Extended Intrinsic Functions

5. OpenMP Multiprocessing Directives
Using Directives
Conditional Compilation
Defining Parallel Regions
Work-sharing Constructs
Combined Parallel Work-sharing Constructs
Synchronization Constructs
Data Environment Constructs
Data Scope Attribute Clauses
Directive Binding
Directive Nesting

6. Parallel Programming on the Origin Series
Performance Tuning of Parallel Programs on Origin series
Data Distribution Directives
Nested DOACROSS Directive
Affinity Scheduling
Specifying Processor Topology With the ONTO Clause
Types of Data Distribution
Optional Environment Variables and Compile-Time Options

7. Compiling and Debugging Parallel Fortran
Compiling and Running Parallel Fortran
Profiling a Parallel Fortran Program
Debugging Parallel Fortran

A. Run-Time Error Messages

B. Multiprocessing Directives (Outmoded)
Parallel Loops
Writing Parallel Fortran
Analyzing Data Dependencies for Multiprocessing
Breaking Data Dependencies
Work Quantum
Cache Effects
Advanced Features
DOACROSS Implementation
PCF Directives
Communicating Between Threads Through Thread Local Data
Synchronization Intrinsics

C. The Auto-Parallelizing Option (APO)
Using the MIPSpro APO
Common Command-Line Options
Output files
Running Your Program
Failing to Parallelize Safe Loops
Parallelizing the Wrong Loop
Unnecessary Parallelization Overhead
Strategies for Assisting Parallelization
Compiler Directives for Automatic Parallelization