Difference between revisions of "OpenMP in Small Bites/NUMA"
OpenMP in Small Bites/NUMA
Jump to navigation
Jump to search
m (Remove unwanted initial line breaks) |
m (Adapt aspect ration of video embedding) |
||
Line 5: | Line 5: | ||
=== Video === <!--T:5--> | === Video === <!--T:5--> | ||
− | <youtube width="600" height=" | + | <youtube width="600" height="340" right>MhlM-GiS1EM</youtube> |
=== Quiz === <!--T:5--> | === Quiz === <!--T:5--> |
Revision as of 10:43, 24 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. Why is it important to initialize your data in parallel when executing on a NUMA architecture?
2. Why is it important to bind the threads?
3. Given a NUMA architecture with to two sockets with six cores each: How can you place the threads of an OpenMP program running with 4 threads among both sockets and bind them to a core?