Přeskočit na hlavní obsah
Přeskočit hlavičku
Ukončeno v akademickém roce 2017/2018

Programování v prostředí HPC

Typ studia navazující magisterské
Jazyk výuky čeština
Kód 460-4060/01
Zkratka PvP HPC
Název předmětu česky Programování v prostředí HPC
Název předmětu anglicky Programming in the HPC Environment
Kreditů 4
Garantující katedra Katedra informatiky
Garant předmětu Mgr. Branislav Jansík, Ph.D.

Osnova předmětu

Témata přednášek
● Úvod do high performace computing (HPC), architektura procesoru x86, principy optimalizace, měření výkonu přístupem na hardware performance counters, knihovna PAPI, nástroj Valgrind.
● Vektorové SIMD programování, využití instrukcí AVX. HPC problémy a lineární algebra, použití knihoven BLAS.
● Architektura superpočítačů, úvod do prostředí superpočítače, úvod do paralelního počítání, koncepty a terminologie paralelního programování, úvod do OpenMP a MPI, kompilace OpenMP a MPI programů, spouštění paralelních procesů.
● Základní OpenMP techniky, základní MPI komunikace, debuggování a profilování paralelních programů.
● Pokročilé OpenMP a hybridní programování.
● Granularita, loadbalancing a metascheduling. Implementace Master-slave v MPI.
● Pokročilá témata: Záludnosti programování v OpenMP, MPI komunikátory a
grupy, neblokující MPI komunikace, kolektivní MPI operace.
● Dynamické MPI, intrakomunikátory a interkomunikátory, spojovaní MPI
procesů.
● Jednostranná MPI komunikace, MPI okna, rámce a epochy.
● MPI a paralelní I/O.
● Integrace BLACS a MPI, knihovny pro paralelní distribuovanou lineární algebru ScaLapack a PBLAS.
● Příklady HPC aplikací, řešení lineárních rovnic v paralelním distribuovaném režimu.

Témata cvičení
Cvičení budou korespondovat s přednáškami. Témata cvičení budou následující:
● Architektury počítačů; výkon počítače a jeho měření
● Vektorové programování
● Využití knihoven lineární algebry v paralelních prostředích
● Programování v OpenMP
● Programování v MPI
● Příklady HPC aplikací

Povinná literatura

1. Pacheco P.: An Introduction to Parallel Programming, Morgan Kaufmann, 2011, ISBN-13: 978-0123742605  ISBN-10: 0123742609 
2. Hager G.:Introduction to High Performance Computing for Scientists and Engineers, Chapman & Hall/CRC Computational Science, 2010, ISBN-13:
978-1439811924 ISBN-10: 143981192X 
3. http://software.intel.com/sites/default/files/319433-014.pdf
4. http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf
5. http://openmp.org/wp/
6. https://computing.llnl.gov/tutorials/openMP/
7. http://www.mpi-forum.org/
8. http://www.open-mpi.org/
9.http://icl.cs.utk.edu/papi/
10. http://www.netlib.org/scalapack/slug/index.html