OpenMP Overview

From HPC Wiki
OpenMP in Small Bites/Overview
Jump to navigation Jump to search


Tutorial
Title: OpenMP in Small Bites
Provider: HPC.NRW

Contact: tutorials@hpc.nrw
Type: Multi-part video
Topic Area: Programming Paradigms
License: CC-BY-SA
Syllabus

1. Overview
2. Worksharing
3. Data Scoping
4. False Sharing
5. Tasking
6. Tasking and Data Scoping
7. Tasking and Synchronization
8. Loops and Tasks
9. Tasking Example: Sudoku Solver
10. Task Scheduling
11. Non-Uniform Memory Access

This video provides a brief history of OpenMP and then introduces the parallel region, one of the most fundamental concepts of OpenMP, used to mark code regions that are meant to be processed by multiple threads in parallel. How the code region is processed and by which threads is then controlled by other OpenMP constructs introduced in the part on Worksharing.

Video

( Slides as pdf)

Quiz

1. Out of which three components does the OpenMP interface consist?

Compiler directives, runtime routines, environment variables
Compiler directives, host language extensions, runtime routines
Host language extensions, runtime routines, environment variables.

2. What is one of the key concepts of the OpenMP execution model?

Fork-Join
Create-Release
Start-Wait

3. How can you control the number of threads?

Set environment variable OMP_NUM_THREADS.
Use num_threads clause on a parallel construct.
Number of threads are fixed at compile time
All of the above