Introduction to OpenMP

11.01.2002


Start Lecture by clicking here


Content

Author: Matthias Mueller, Isabel Loebich, Rolf Rabenseifner

  1. Introduction to OpenMP
  2.     OpenMP Overview: What is OpenMP?
  3.     Motivation: Why should I use OpenMP?
  4.     Where should I use OpenMP?
  5.     Simple OpenMP Program
  6. Outline
  7.     Who owns OpenMP? - OpenMP Architecture Review Board
  8.     OpenMP timeline
  9.     OpenMP Partners: Software Vendors
  10.     OpenMP Partners: Application Developers
  11.     OpenMP Availability
  12.     OpenMP Availability
  13.     OpenMP Information
  14. Outline — API
  15.     OpenMP Programming Model
  16. Outline — Execution Model
  17.     OpenMP Execution Model (1)
  18.     OpenMP Execution Model (2)
  19.     OpenMP Parallel Region Construct (1)
  20.     OpenMP Parallel Region Construct (2)
  21.     OpenMP Directive Format: Fortran
  22.     OpenMP Directive Format: C/C++
  23.     OpenMP Data Scope Clauses
  24.     OpenMP Environment Variables
  25.     OpenMP Runtime Library (1)
  26.     OpenMP Runtime Library (2)
  27. Outline — Exercise 1: hello
  28.     OpenMP on vision.rus....:
  29.     hwwsr8k: Cross Compiler Environment
  30.     hwwsr8k: Cross Compiler Environment
  31.     hwwsx*: Cross Compiler Environment
  32.     OpenMP Exercise 1: Hello World Program (1)
  33.     OpenMP Exercise 1: Hello World Program (2)
  34.     OpenMP Exercise 1: Hello World Program (3)
  35.     OpenMP Exercise 1: Hello World Program - Solution
  36.     OpenMP Exercise 1: Hello World Program - Summary
  37. Outline — Work-sharing directives
  38.     Work-sharing and Synchronization
  39.     OpenMP Work-sharing Constructs
  40.     OpenMP sections Directives (1)
  41.     OpenMP sections Directives (2)
  42.     OpenMP sections Directives (3)
  43.     OpenMP do/for Directives (1)
  44.     OpenMP do/for Directives (2)
  45.     OpenMP do/for Directives (3)
  46.     OpenMP do/for Directives (4)
  47.     OpenMP schedule Clause
  48.     Loop scheduling
  49. Outline — Synchronization constructs
  50.     OpenMP Synchronization
  51.     OpenMP critical Directive
  52.     OpenMP critical — an example (Fortran)
  53.     OpenMP critical — an example (C/C++)
  54.     OpenMP critical — another example (Fortran)
  55.     OpenMP critical — another example (C/C++)
  56. Outline — Nesting and Binding
  57.     OpenMP Vocabulary
  58.     OpenMP Vocabulary
  59.     OpenMP Control Structures — Summary
  60. Outline — Exercise 2: pi
  61.     OpenMP Exercise 2: pi Program (1)
  62.     OpenMP Exercise 2: pi Program (2)
  63.     OpenMP Exercise 2: pi Program (3)
  64.     OpenMP Exercise 2: pi Program (4)
  65.     OpenMP Exercise 2: pi Program (5)
  66.     OpenMP Exercise 2: pi Program - Solution
  67. Outline — Date environment and combined constructs
  68.     OpenMP Data Scope Clauses
  69.     Private Clause
  70.     OpenMP reduction Clause
  71.     OpenMP reduction — an example (Fortran)
  72.     OpenMP reduction — an example (C/C++)
  73.     OpenMP Combined parallel do/for Directive
  74.     OpenMP Combined parallel do/for — an example (Fortran)
  75.     OpenMP Combined parallel do/for — an example (C/C++)
  76. Outline — Exercise 3: pi with reduction
  77.     OpenMP Exercise 3: pi Program (6)
  78.     OpenMP Exercise 3: pi Program (7)
  79.     OpenMP Exercise 3: pi Program (8)
  80.     OpenMP Exercise 3: pi Program - Solution
  81.     OpenMP Exercise 3: pi Program - Execution Times F90
  82.     OpenMP Exercise 3: pi Program - Summary
  83. Outline — Summary of the OpenMP API
  84.     OpenMP Components
  85.     OpenMP Architecture
  86.     OpenMP Constructs
  87. Outline — OpenMP Pitfalls
  88.     Two types of SMP errors
  89.     Example for race condition (1)
  90.     Example for race condition (2)
  91.     OpenMP programming recommendations
  92.     Sequential Equivalence
  93.     Rules for Strong Sequential Equivalence
  94.     Example for Ordered Clause: pio.c
  95.     Rules for weak sequential equivalence
  96.     Optimization Problems
  97. OpenMP Summary
  98. OpenMP Exercise Heat Conduction
  99.     OpenMP Exercise: Heat Conduction(1)
  100.     OpenMP Exercise: Heat Conduction (2)
  101.     OpenMP Exercise: Heat Conduction (3)
  102.     OpenMP Exercise: Heat Conduction (4)
  103.     OpenMP Exercise: Heat - Solution C/F77/F90 (1)
  104.     OpenMP Exercise: Heat - Solution C/F77/F90 (2)
  105.     OpenMP Exercise: Heat - Execution Times F90/opt
  106.     OpenMP Exercise: Heat Conduction - Summary

Back to the Parallel Programming Workshop Overview