Administracja Centralna Uczelni - Wymiana międzynarodowa (S1)
Sylabus przedmiotu Parallel Programming:
Informacje podstawowe
Kierunek studiów | Wymiana międzynarodowa | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | |||
Obszary studiów | — | ||
Profil | |||
Moduł | — | ||
Przedmiot | Parallel Programming | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Włodzimierz Bielecki <Wlodzimierz.Bielecki@zut.edu.pl> | ||
Inni nauczyciele | |||
ECTS (planowane) | 6,0 | ECTS (formy) | 6,0 |
Forma zaliczenia | zaliczenie | Język | angielski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Compilers 1 You are expected to have some basic programming skills using C or C++. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | To develop an understanding of major parallel programming models To be able to identify promising applications of parallel computing To be able to develop typical parallel algorithms and implement prototype parallel programs using API OpenMP To be able to analyze the performance of parallel programs |
Treści programowe z podziałem na formy zajęć
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 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | participation in laboratories | 30 |
A-L-2 | Participation in consultations 10 | 10 |
A-L-3 | preparation for laboratories | 50 |
90 | ||
wykłady | ||
A-W-1 | Lectures | 30 |
A-W-2 | Preparing to examination | 50 |
A-W-3 | Examination 2 | 2 |
A-W-4 | Consultations | 8 |
90 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Informative / conversational lectures |
M-2 | Laboratory exercises |
M-3 | the Final exam by checking the learning outcomes: presenting questions and assessing the answers |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Assessment of the degree of practical tasks at the end of each laboratory |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
WM-WI_1-_??_W01 The student has basic knowledge in the OpenMP standard. | — | — | C-1 | T-W-7, T-W-1, T-W-3, T-W-4, T-W-6, T-W-2, T-W-5 | M-3 | S-1 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
WM-WI_1-_??_U01 The student is able to write parallel programs in the OpenMP standard. | — | — | C-1 | T-L-5, T-L-4, T-L-6, T-L-3, T-L-2, T-L-1, T-L-7, T-L-8 | M-2 | S-1 |
Zamierzone efekty uczenia się - inne kompetencje społeczne i personalne
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|
WM-WI_1-_??_K01 The student is able to work with colleagues in a group. | — | — | C-1 | T-L-5, T-W-7, T-L-2, T-L-8, T-L-6, T-W-6, T-L-7, T-L-4, T-W-3, T-W-5, T-L-3, T-L-1, T-W-2, T-W-4, T-W-1 | M-2, M-3, M-1 | S-1 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
WM-WI_1-_??_W01 The student has basic knowledge in the OpenMP standard. | 2,0 | |
3,0 | The student knows basic pragmas, functions and enviroment variables to write a parallel program in OpenMP C/C++ | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
WM-WI_1-_??_U01 The student is able to write parallel programs in the OpenMP standard. | 2,0 | |
3,0 | The student is able to write a simple parallel program in OpenMP C/C++ | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
WM-WI_1-_??_K01 The student is able to work with colleagues in a group. | 2,0 | |
3,0 | Proven ability to apply knowledge, skills and personal abilities to write a paralel program in OpenMP C/C++ | |
3,5 | ||
4,0 | ||
4,5 | ||
5,0 |
Literatura podstawowa
- Rohit Chandra Ramesh Menon Leo Dagum David Kohr Dror Maydan Jeff McDonald, Parallel Programming in OpenMP, Morgan Kaufmann, 2001
- Thomas Rauber, Parallel Programming: for Multicore and Cluster Systems, Springer, 2010
Literatura dodatkowa
- OpenMP reference: Specification of OpenMP 2.5 0 API for C/C++