Difference between revisions of "OpenMP in Small Bites/Overview"

From HPC Wiki
OpenMP in Small Bites/Overview
Jump to navigation Jump to search
m (Add DISPLAYTITLE)
Line 1: Line 1:
 
[[Category:Tutorials]]<nowiki />
 
[[Category:Tutorials]]<nowiki />
 +
{{DISPLAYTITLE:OpenMP Overview}}
 
{{Syllabus OpenMP in Small Bites}}<nowiki />
 
{{Syllabus OpenMP in Small Bites}}<nowiki />
 
__TOC__
 
__TOC__

Revision as of 16:48, 4 December 2020


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 the OpenMP interface consists?

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