NPRF039 – Fortran 95 a paralelní programování
Sylabus: http://www.mff.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:
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