Introduction to OpenMP
11.01.2002
Start Lecture by clicking here
Content
Author:
Matthias Mueller, Isabel Loebich, Rolf Rabenseifner
Introduction to OpenMP
OpenMP Overview: What is OpenMP?
Motivation: Why should I use OpenMP?
Where should I use OpenMP?
Simple OpenMP Program
Outline
Who owns OpenMP? - OpenMP Architecture Review Board
OpenMP timeline
OpenMP Partners: Software Vendors
OpenMP Partners: Application Developers
OpenMP Availability
OpenMP Availability
OpenMP Information
Outline — API
OpenMP Programming Model
Outline — Execution Model
OpenMP Execution Model (1)
OpenMP Execution Model (2)
OpenMP Parallel Region Construct (1)
OpenMP Parallel Region Construct (2)
OpenMP Directive Format: Fortran
OpenMP Directive Format: C/C++
OpenMP Data Scope Clauses
OpenMP Environment Variables
OpenMP Runtime Library (1)
OpenMP Runtime Library (2)
Outline — Exercise 1: hello
OpenMP on vision.rus....:
hwwsr8k: Cross Compiler Environment
hwwsr8k: Cross Compiler Environment
hwwsx*: Cross Compiler Environment
OpenMP Exercise 1: Hello World Program (1)
OpenMP Exercise 1: Hello World Program (2)
OpenMP Exercise 1: Hello World Program (3)
OpenMP Exercise 1: Hello World Program - Solution
OpenMP Exercise 1: Hello World Program - Summary
Outline — Work-sharing directives
Work-sharing and Synchronization
OpenMP Work-sharing Constructs
OpenMP sections Directives (1)
OpenMP sections Directives (2)
OpenMP sections Directives (3)
OpenMP do/for Directives (1)
OpenMP do/for Directives (2)
OpenMP do/for Directives (3)
OpenMP do/for Directives (4)
OpenMP schedule Clause
Loop scheduling
Outline — Synchronization constructs
OpenMP Synchronization
OpenMP critical Directive
OpenMP critical — an example (Fortran)
OpenMP critical — an example (C/C++)
OpenMP critical — another example (Fortran)
OpenMP critical — another example (C/C++)
Outline — Nesting and Binding
OpenMP Vocabulary
OpenMP Vocabulary
OpenMP Control Structures — Summary
Outline — Exercise 2: pi
OpenMP Exercise 2: pi Program (1)
OpenMP Exercise 2: pi Program (2)
OpenMP Exercise 2: pi Program (3)
OpenMP Exercise 2: pi Program (4)
OpenMP Exercise 2: pi Program (5)
OpenMP Exercise 2: pi Program - Solution
Outline — Date environment and combined constructs
OpenMP Data Scope Clauses
Private Clause
OpenMP reduction Clause
OpenMP reduction — an example (Fortran)
OpenMP reduction — an example (C/C++)
OpenMP Combined parallel do/for Directive
OpenMP Combined parallel do/for — an example (Fortran)
OpenMP Combined parallel do/for — an example (C/C++)
Outline — Exercise 3: pi with reduction
OpenMP Exercise 3: pi Program (6)
OpenMP Exercise 3: pi Program (7)
OpenMP Exercise 3: pi Program (8)
OpenMP Exercise 3: pi Program - Solution
OpenMP Exercise 3: pi Program - Execution Times F90
OpenMP Exercise 3: pi Program - Summary
Outline — Summary of the OpenMP API
OpenMP Components
OpenMP Architecture
OpenMP Constructs
Outline — OpenMP Pitfalls
Two types of SMP errors
Example for race condition (1)
Example for race condition (2)
OpenMP programming recommendations
Sequential Equivalence
Rules for Strong Sequential Equivalence
Example for Ordered Clause: pio.c
Rules for weak sequential equivalence
Optimization Problems
OpenMP Summary
OpenMP Exercise Heat Conduction
OpenMP Exercise: Heat Conduction(1)
OpenMP Exercise: Heat Conduction (2)
OpenMP Exercise: Heat Conduction (3)
OpenMP Exercise: Heat Conduction (4)
OpenMP Exercise: Heat - Solution C/F77/F90 (1)
OpenMP Exercise: Heat - Solution C/F77/F90 (2)
OpenMP Exercise: Heat - Execution Times F90/opt
OpenMP Exercise: Heat Conduction - Summary
Back to the Parallel Programming Workshop Overview