Anotace
Kurz se zaměřuje na optimalizaci a paralelizaci Python kódu pro vysokovýkonné počítání (HPC). Studenti se naučí měřit výkon, vektorizovat NumPy operace, kompilovat kód pomocí Cython a Numba, a implementovat distribuované výpočty s Dask, MPI a Ray. Druhá část pokrývá GPU akceleraci (RAPIDS, DeepSpeed), integraci nativního kódu a práci s HPC clusterem pod SLURM. Kurz kombinuje teorii s intenzivními praktickými cvičeními na reálných systémech. Určen především pro vědce a vývojáře, kteří potřebují zrychlit své aplikace desetkrát až stokrát a pracovat s masivními datovými sadami.
Osnova
1.Příprava prostředí: Studenti se naučí moderní správu Python projektů, práci s vi
rtuálními prostředími a konfiguraci nástrojů pro běh na HPC systémech.
2.Single node optimalizace: Kurz představí tři základní metody akcelerace Pythonu –
NumPy vektorizaci, Cython a Numba JIT – které si studenti prakticky vyzkouší na
úlohách, jako je faktoriál, eukleidovská vzdálenost nebo Monte Carlo simulace.
3.Distribuované výpočty: Studenti se seznámí s Daskem pro práci s daty většími než
RAM, MPI pro komunikaci mezi uzly a Apptainerem pro reprodukovatelné
nasazení, a poprvé spustí vlastní aplikace na HPC clusteru pomocí SLURMu.
4.Nativní kód a pokročilá distribuce: Výuka pokrývá použití CFFI pro integraci
C/Fortran knihoven, škálování s Dask Distributed a práci s Ray frameworkem jako
moderním nástrojem pro distribuované AI workflow.
5.GPU a optimalizace deep learningu: Studenti se naučí používat DeepSpeed pro
efektivní trénování velkých modelů a RAPIDS pro GPU-akcelerované datové
zpracování, což je klíčové pro moderní AI a práci s rozsáhlými datasety.
6.Integrace a best practices: Závěrečný blok propojuje všechny techniky včetně
rozhodovacího rámce, případových studií, postupů pro debugging distribuovaných
aplikací a realizace finálních projektů připravených pro reálné HPC prostředí.