KOD | Treść programowa | Godziny |
---|
laboratoria |
---|
T-L-1 | Pragma parallel | 4 |
T-L-2 | Pragma For | 4 |
T-L-3 | Pragma Sections | 4 |
T-L-4 | Pragma Single | 2 |
T-L-5 | Pragma Critical | 2 |
T-L-6 | Coding an algorithm in OpenMP | 6 |
T-L-7 | Evaluating speed-up of an OpenMP program | 4 |
T-L-8 | Applying Amhdal's and Gustafson's laws | 4 |
| 30 |
---|
wykłady |
---|
T-W-1 | Introduction: From serial to parallel thinking. A history of parallel computers and lessons learned from them. | 2 |
T-W-2 | Dependences in programs | 2 |
T-W-3 | Basic loop transformations | 2 |
T-W-4 | API OpenMP, version 2.
Processes and threads
Fork-Join model
What does OpenMP stand for?
Limitations of OpenMP
OpenMP Directive Responsibility
Synchronization in OpenMP
Pragma Parallel and its clauses
What is a structured block
Control of the number of threads in a parallel region
Dynamic threads
Nested parallel regions
Parallel directive restrictions
Private, firstprivate, shared, and default clauses
Purpose of the DO / for directive and its restrictions
Ordered clause
Last private clause
Schedule clause
Reduction clause
Nowait clause
Default scoping rules in OpenMP
Exceptions to the rule that unscoped variables are made shared by default.
Removing anti dependences
Removing output dependences
Removing data flow dependences
TREADPRIVATE clause
COPYIN clause
Pragma SECTIONS and its clauses
Restrictions of pragma Sections
Pragma single, its clauses and restrictions
Combined constructs
Restrictions of work-sharing constructs
Orphan directives
Scopes in an orphan construction
Nested parallelism
Environment variables
Run-Time Library Routines
Need for synchronization
CRITICAL directive and its restrictions
Atomic directive, its restriction
Using the lock routines to implement a critical section
BARRIER directive, its restrictions
ORDERED directive, its restrictions
MASTER directive, its restrictions
FLUSH directive, its restrictions | 16 |
T-W-5 | Parallel Program Performance metrics.
Key factors impacting performance
Cashes and Locality
Locality and Schedules
False sharing
Inconsistent parallelization
How barriers impact performance
How critical sections impact performance
Good Practice improving performance
Deterministic program
Program granularity
Program locality
How caches work
Program speed-up
Program efficiency
AMDAHL’S LAW
GUSTAFSON’S LAW | 4 |
T-W-6 | Parallel algorithm design | 2 |
T-W-7 | Performance models | 2 |
| 30 |
---|