Outline

8/29/98


Click here to start


Table of Contents

Outline

Outline

OpenMP

OpenMP (2)

Shared Memory

Shared Memory in Pictures

OpenMP

OpenMP in Pictures

Design of OpenMP

Design of OpenMP (2)

Outline

Control Structures

Control Structures (2)

DO Scheduling

DO Scheduling (2)

Orphaned Directives

OpenMP Synchronization

OpenMP Synchronization (2)

OpenMP Data Environments

OpenMP Data Environments

OpenMP Environment & Runtime Library

OpenMP Environment & Runtime (2)

OpenMP Environment & Runtime (3)

Outline

Analyzing for Parallelism

Program Profile

Walking the Key Loop Nest

Multiple Parallel Loops

Example —Loop Nest

Restructuring Applications

Two Levels of Parallel Processing

Two Levels of Parallel Processing (cont.)

Determining Shared and Private

Types of Variables

Guidelines for Classifying Variables

Process of Classifying Variables

Process of Classifying Variables (2)

Process of Classifying Vars (3)

Firstprivate and Lastprivate

Firstprivate and Lastprivate (2)

Choosing & Placing Synchronization

What to Synchronize

Example — Critical/Ordered Section

Reductions

(Flawed) Plan For a Good Reduction

Good Reductions

Typical Parallel Bugs

Typical Parallel Bugs (2)

Typical Parallel Bugs (3)

Outline

Designing Parallel Programs in OpenMP

Designing Parallel Programs in OpenMP (2)

Jacobi Iteration: The Problem

Jacobi Iteration: OpenMP Partitioning, Communication, and Agglomeration

Partitioning, Communication, and Agglomeration (2)

Jacobi Iteration: OpenMP Mapping

Jacobi Iteration: OpenMP Program

Jacobi Iteration/Program (2)

Irregular Mesh: The Problem

Irregular Mesh: Sequential Program

Irregular Mesh: OpenMP Partitioning

Irregular Mesh: OpenMP Communication

Irregular Mesh: OpenMP Agglomeration

Irregular Mesh: OpenMP Mapping

Irregular Mesh: OpenMP Mapping (2)

Irregular Mesh: OpenMP Program

Irregular Mesh

Irregular Mesh: Pictures

Irregular Mesh: Bad Data Order

Irregular Mesh: Bad Data Order

Irregular Mesh: Good Data Order

Irregular Mesh: Good Data Order

OpenMP Summary

Three Systems Compared

Three Systems Compared (2)

OpenMP + MPI

MPI + HPF

HPF + OpenMP

Email: gcf@npac.syr.edu

Home Page: http://www.npac.syr.edu