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