PředmětyPředměty(verze: 878)
Předmět, akademický rok 2020/2021
  
Paralelní programování v OpenMP, MPI a CUDA - M403065
Anglický název: Parallel programming in OpenMP, MPI, and CUDA
Zajišťuje: Centrum počítačového vzdělávání VŠCHT Praha (599)
Platnost: od 2019
Semestr: letní
Body: letní s.:2
E-Kredity: letní s.:2
Způsob provedení zkoušky: letní s.:
Rozsah, examinace: letní s.:0/10 Z [hodiny/semestr]
Počet míst: neurčen / neurčen (neurčen)
Minimální obsazenost: neomezen
Jazyk výuky: čeština
Způsob výuky: prezenční
Úroveň:  
Pro druh: navazující magisterské
Poznámka: předmět je možno zapsat mimo plán
povolen pro zápis po webu
Garant: Kolafa Jiří prof. RNDr. CSc.
Anotace -
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.
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.

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)

Metody výuky -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)

přednášky(30%), cvičení(30%), projekt (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í

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).

9. Výpočty s reálnými čísly (NTK module 12).

10. Případová studie: výpočet elektrostatického potenciálu mnoha částic (NTK Module 16).

Vstupní požadavky -
Poslední úprava: Kolafa Jiří prof. RNDr. CSc. (04.09.2019)

Základy jazyka C a zkušenost s linuxem.

Zátěž studenta
Činnost Kredity Hodiny
Práce na individuálním projektu 0,2 5
Účast na seminářích 0,2 5
0 / 2 10 / 56
 
VŠCHT Praha