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)
- Autoparalelizace a vektorizace (sphinx)
- Překlad a spouštění OpenMP úloh: GNU, Intel, Nvidia (sphinx)
- Překlad a spouštění MPI úloh: Open MPI, Intel MPI, MPICH (sphinx)
- Coarray Fortran: ukázky whoami, gather/scatter, benchmark (sphinx)
- Paralelizace v Pythonu: Numba, f2py (sphinx)
Připravuje se...
- Paralelizované knihovny numerických metod: BLAS, LAPACK, Intel MKL, CUDA knihovny, CULA, IMSL
- Paralelizace pomocí direktiv: OpenMP pro CPU (vlákna, vektorizace), OpenACC pro GPU a CPU, OpenMP pro GPU
- CUDA Fortran pro GPU
- Komunikační knihovna MPI
- Paralelizované algoritmy
Poznámky v PDF
- Poprvé s Fortranem (15. 11. 2011)
(datové typy, struktura programu, příkazy, popisy, výrazy, pole, procedury, vstup a výstup, překladače, knihovny)
- Podrobněji o Fortranu (30. 6. 2009)
(normy a překladače, struktura programu, příkazy, specifikace, výrazy, pole, vnitřní procedury, ukazatele, struktury, objekty, vstup a výstup)
- 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í)
- PGI GPU Fortran (19. 5. 2010),
CUDA Fortran a OpenACC direktivy a ukázky (7. 5. 2013)
(NVIDIA hardware, Portland CUDA Fortran, OpenACC direktivy)
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
- MPI:
home,
specifications,
wiki,
HPC Wiki,
tutorial Multiprocessing by MPI