Non-Uniform Memory Access (NUMA) Effects in OpenMP

From HPC Wiki
OpenMP in Small Bites/NUMA
Jump to: navigation, search

Title: OpenMP in Small Bites
Provider: HPC.NRW

Type: Multi-part video
Topic Area: Programming Paradigms
License: CC-BY-SA

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
10. Task Scheduling
11. Non-Uniform Memory Access


This video shows how a non-uniform memory access (NUMA) architecture influences the performance of OpenMP programs. It explains how distribute data and threads across NUMA domains and how to avoid uncontrolled data or thread migration.


( Slides as pdf)


1. Why is it important to initialize your data in parallel when executing on a NUMA architecture?

Click and submit to see the answer

2. Why is it important to bind the threads?

Click and submit to see the answer

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?

Click and submit to see the answer