NPRF039 – Fortran 95 a paralelní programování
Sylabus: https://is.cuni.cz
Poznámky k přednášce
Témata
- Na úvod: Amdahlův a Gustafsonův zákon (sphinx)
- OpenMP pro CPU (sphinx). Překlad a spouštění OpenMP úloh: GNU, Intel, Nvidia (sphinx). Video 26. 2., 4. 3., 11. 3., 18. 3., 25. 3.
- OpenACC a OpenMP pro GPU (sphinx)
- MPI (zatím viz linky v Poznámkách v PDF a u tématu Coarray Fortran). Překlad a spouštění MPI úloh: Open MPI, Intel MPI, MPICH (sphinx). Video 15. 4., 22. 4.
- Coarray Fortran: ukázky whoami, gather/scatter, benchmark (sphinx). Video 29. 4.
- Python: f2py (PDF, ukázky v ZIP). Numba vs. Fortran vs. f2py (sphinx). Video 13. 5.
- Paralelizované knihovny numerických metod (BLAS, LAPACK, Intel MKL, CUDA knihovny: viz Numerické metody ve Fortranu; řešiče řídkých algebraických rovnic PARDISO, UMFPACK a BoomerAMG viz Seminář o softwaru pro geofyziky). Video 20. 5.
Poznámky v PDF
- Poprvé s Fortranem (15. 11. 2011, aktualizace 18. 11. 2022)
(datové typy, struktura programu, příkazy, popisy, výrazy, pole, procedury, vstup a výstup, překladače, knihovny) - OpenMP (12. 4. 2013)
(přehled direktiv, procedur a proměnných, sdílení paměti) - MPI (6. 5. 2011)
(součásti MPI, přehled procedur, překlad a spouštění)
Software
Fortran:
- GNU Compiler Collection (snadný download pro Windows: equation.com)
- Intel Fortran Compiler (součást Intel oneAPI HPC Toolkit)
- Nvidia HPC SDK (dřívější PGI Fortran)
- vývojová prostředí: Visual Studio Code s extenzí Modern Fortran, Geany, Code::Blocks, NetBeans
MPI:
Odkazy
- Fortran: historie (wiki), přehled jazyka (wiki), pro všechny (český seriál), pro pamětníky (real programmers)
- Fortranská dokumentace: Intel online a pdf, gfortran a pdf, nv překladače a pgfortran s pdf
- Fortranské normy: 2018, 2008 a 2003
- OpenMP: home, specifications, wiki
- OpenACC: home, specifications, wiki
- MPI: home, specifications, wiki, HPC Wiki, tutorial Multiprocessing by MPI