Basic IMAGE version of Foils prepared August 29 98

Foil 37 Process of Classifying Variables (2)

From Designing and Building Parallel Programs 2: openMP Shared Memory Programming Language DoD Modernization Tutorial -- 1995-1998. by Ian Foster, Gina Goff, Ehtesham Hayder, Chuck Koelbel(Some foils prepared by Kuck & Associates, Inc.)
(0 to 5):





© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Sun Apr 11 1999

Table of Contents for Designing and Building Parallel Programs 2: openMP Shared Memory Programming Language


1 Outline
2 Outline
3 OpenMP
4 OpenMP (2)
5 Shared Memory
6 Shared Memory in Pictures
7 OpenMP
8 OpenMP in Pictures
9 Design of OpenMP
10 Design of OpenMP (2)
11 Outline
12 Control Structures
13 Control Structures (2)
14 DO Scheduling
15 DO Scheduling (2)
16 Orphaned Directives
17 OpenMP Synchronization
18 OpenMP Synchronization (2)
19 OpenMP Data Environments
20 OpenMP Data Environments
21 OpenMP Environment & Runtime Library
22 OpenMP Environment & Runtime (2)
23 OpenMP Environment & Runtime (3)
24 Outline
25 Analyzing for Parallelism
26 Program Profile
27 Walking the Key Loop Nest
28 Multiple Parallel Loops
29 Example --Loop Nest
30 Restructuring Applications
31 Two Levels of Parallel Processing
32 Two Levels of Parallel Processing (cont.)
33 Determining Shared and Private
34 Types of Variables
35 Guidelines for Classifying Variables
36 Process of Classifying Variables
37 Process of Classifying Variables (2)
38 Process of Classifying Vars (3)
39 Firstprivate and Lastprivate
40 Firstprivate and Lastprivate (2)
41 Choosing & Placing Synchronization
42 What to Synchronize
43 Example -- Critical/Ordered Section
44 Reductions
45 (Flawed) Plan For a Good Reduction
46 Good Reductions
47 Typical Parallel Bugs
48 Typical Parallel Bugs (2)
49 Typical Parallel Bugs (3)
50 Outline
51 Designing Parallel Programs in OpenMP
52 Designing Parallel Programs in OpenMP (2)
53 Jacobi Iteration: The Problem
54 Jacobi Iteration: OpenMP Partitioning, Communication, and Agglomeration
55 Partitioning, Communication, and Agglomeration (2)
56 Jacobi Iteration: OpenMP Mapping
57 Jacobi Iteration: OpenMP Program
58 Jacobi Iteration/Program (2)
59 Irregular Mesh: The Problem
60 Irregular Mesh: Sequential Program
61 Irregular Mesh: OpenMP Partitioning
62 Irregular Mesh: OpenMP Communication
63 Irregular Mesh: OpenMP Agglomeration
64 Irregular Mesh: OpenMP Mapping
65 Irregular Mesh: OpenMP Mapping (2)
66 Irregular Mesh: OpenMP Program
67 Irregular Mesh
68 Irregular Mesh: Pictures
69 Irregular Mesh: Bad Data Order
70 Irregular Mesh: Bad Data Order
71 Irregular Mesh: Good Data Order
72 Irregular Mesh: Good Data Order
73 OpenMP Summary
74 Three Systems Compared
75 Three Systems Compared (2)
76 OpenMP + MPI
77 MPI + HPF
78 HPF + OpenMP
Click outside pointer rectangle to move pointer
Click on Pointer to Hide
Click on Pointer + ALT to toggle message hiding
Click on Pointer + CNTL to abolish pointer
Click on Pointer + Shift to cycle families
Click outside + Alt is Change Image
Click outside + Control is Double Size
Click outside + Shift is Halve Size
Right Mouse Down on Pointer Toggles Index
Shift Right Mouse aligns top with scrolled Page
While With Mouse Down on Current Pointer
h hides This Message while m restores
i Toggles Index Aligned with Page Top
j Toggles Index Aligned with Scrolled View Top
a Abolishes Pointer while CNTL-Click restores
f cycles through pointer families
c cycles through members of a family
u increases Size Up and d decreases Down
Mouse Up-Down between changes of
Pointer to process new option