9600-1028/03 – Základy programování HPC systémů (ZPHPC)
Garantující katedra | IT4Innovations | Kredity | 6 |
Garant předmětu | Ing. Ondřej Meca, Ph.D. | Garant verze předmětu | Ing. Ondřej Meca, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinný |
Ročník | 1 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2021/2022 | Rok zrušení | |
Určeno pro fakulty | FMT, FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Kurz poskytne základy tvorby paralelních aplikací, zahrnující modely paralelního zpracování a optimalizační techniky v závislosti na cílové paralelní architektuře.
Student bude po absolvování předmětu schopen:
- aktivně využívat nové pojmy z oblasti paralelního programování
- analyzovat algoritmus, navrhnout vhodnou dekompozici pro jeho paralelizaci
- analyzovat efektivitu návrhu paralelizace
- implementovat a optimalizovat algoritmus s využitím paralelizace na úrovni instrukcí jádra procesoru, s využitím kombinované výpočetní síly mnoha jader (multicore(CPU) i manycore(MIC)) prostřednictvím direktiv OpenMP a s využitím kombinované výpočetní síly mnoha výpočetních uzlů, prostřednictvím inter procesové komunikace MPI.
Vyučovací metody
Přednášky
Semináře
Cvičení (v učebně)
Anotace
Povinná literatura:
1. Michael McCool (Author), James Reinders (Author), Arch Robison (Author), Structured Parallel Programming: Patterns for Efficient Computation Paperback – June 25, 2012
2. http://mpi-forum.org, MPI: A Message-Passing Interface Standard
3. http://openmp.org, OpenMP Application Program Interface
Doporučená literatura:
1. http://software.intel.com, Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors - Part 1: Optimization Essentials
2. Intel® 64 and IA-32 Architectures Optimization Reference Manual
3. High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches Paperback – November 17, 2014 by James Reinders (Author), James Jeffers (Author)
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
vypracování projektů, jejich prezentace a zkouška
E-learning
Další požadavky na studenta
Znalost programovacího jazyku C/C++ nebo Fortran v kterékoli verzi
Znalost programování na úrovni instrukcí je doporučená, není však požadována.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
1. Úvod do HPC, paralelního programování a architektur současných mikroprocesorů
2. Dekompozice algoritmů pro paralelizaci, orientované acyklické grafy
3. Optimalizační techniky pro paralelizmus na úrovni instrukcí, explicitní direktivy a příkazy pro paralelizmus na úrovni instrukcí
4. Programování paralelních vláken s pomocí direktiv OpenMP
5. Základní inter procesová komunikace s pomocí knihovny MPI, hybridní programování
6. Metody analytického modelování efektivity paralelních algoritmů
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky