Difference between revisions of "OpenMP in Small Bites/Worksharing"
OpenMP in Small Bites/Worksharing
Jump to navigation
Jump to search
m (Use new syllabus template) |
m (Remove unwanted initial line breaks) |
||
Line 1: | Line 1: | ||
− | [[Category:Tutorials]] | + | [[Category:Tutorials]]<nowiki /> |
− | {{Syllabus OpenMP in Small Bites}} | + | {{Syllabus OpenMP in Small Bites}}<nowiki /> |
__TOC__ | __TOC__ | ||
− | |||
=== Video === <!--T:5--> | === Video === <!--T:5--> |
Revision as of 12:13, 19 November 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 |
Video
Quiz
1. What is most commonly used worksharing construct in OpenMP to distribute work among loop interations?
2. Give an example for a parallel vector addition using OpenMP worksharing!
3. Can the following code snipped be parallelized with the OpenMP for-construct with out breaking the semantic? Justify your answer.
int i, int s = 0;
for (i = 1; i < 100; i++){
s = a[i-1] + a[i];
}