Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
Po obecném úvodu o modelech paralelního programování probereme hlavní zásady a triky vedoucí k efektivní paralelizaci úloh různých typů. V druhé části kurzu se zaměříme na konkrétní architekturu, totiž grafické procesory NVIDIA. Probereme sofware CUDA (vč. nezbytných základů jazyka C++) a budeme řešit cvičné úlohy se zaměřením na aplikace ve výpočetní chemii.
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
After general introduction to models of parallel programming, we will cover main rules and tricks leading to efficient parallelization of various tasks. In the second part of the course, we will focus on a particlar architecture, namely graphics processing units NVIDIA. We will cover CUDA software (incl. the needed basics of laguage C++) and solve exercises focussing on the field of computational chemistry.
Výstupy studia předmětu -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
Studenti se budou orientovat v metodách paralelizace a budou schopni vytvořit jednoduchý kód na platformě CUDA.
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
Students will understand parallelization methods and will be able to write a simple CUDA-based code.
Literatura -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
J. Sanders, E. Kandrot: CUDA by example - An Introdiction to General-Purpose GPU Programming (Adisson-Wesley 2011, 978-0-13-138768-3)
D. B. Kirk, W-m. W. Hwu: Programming Massively Parallel Processors - A Hands-on Approach (Elsevier 2010, 978-0-12-381472-2)
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
J. Sanders, E. Kandrot: CUDA by example - An Introdiction to General-Purpose GPU Programming (Adisson-Wesley 2011, 978-0-13-138768-3)
D. B. Kirk, W-m. W. Hwu: Programming Massively Parallel Processors - A Hands-on Approach (Elsevier 2010, 978-0-12-381472-2)
Metody výuky -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
přednášky(30%), cvičení(30%), projekt (40%)
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
talks(30%), exercise(30%), project (40%)
Požadavky ke kontrole studia -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
Interaktivní hodnocení bez formálního testu či zkoušení
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)
Interactive evaluation without a formal test or exam
Sylabus -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (11.09.2019)
1. Historie: D825, transputery. Svět Unixu: MIMD vlákna. Platformy (MPI aj.). SIMD and GPUs. Procesor, jádro, vlákno.
2. Algoritmizace: Lineární algebra (husté a řídké matice). Mřížky (PDE). MC a MD: domain decomposition, metoda zřetězených seznamů. Grafika: Rendering.
3. C and C++ přehled.
4. Message passing (zasílání zpráv) a vlákna: OpenMP, MPI.
5. GPU - architektura.
6. CUDA základy (NVIDIA Teaching Kit modules 1,2).
7. CUDA model paralelismu, paměť (NTK modules 3-6).
8. Typické příklady paralelních výpočtů (NTK modules 7-9).