Poslední úprava: Mgr. Kateřina Mikšová (13.05.2019)
High performance computing ve fyzice. Obecná pravidla, základní postupy v programování těchto úloh (optimalizace,
paralelizace), spouštění úloh na výpočetních clusterech a další praktické aspekty. Pro 4. - 5. roč. MS fyzikálních oborů
nebo PGDS. Předpokladem je absolvování předmětů Numerické metody počítačové fyziky nebo Úvod do programování v
prostředí MATLAB apod., schopnost základní práce se systémy Unix/Linux.
Poslední úprava: Mgr. Kateřina Mikšová (13.05.2019)
High Performance Computing in Physics. General rules, basic methods for programming computationally intensive problems (optimization, parallelization), execution of jobs at computational clusters and other practical aspects. Recommended for master students (4th or 5th grade) or post-graduate students. Precondition is to have passed either Numerical Methods of Computer Physics, Introduction to Programming in Matlab or a similar subject, basic handling of Unix/Linux systems.
Literatura -
Poslední úprava: CARVA/MFF.CUNI.CZ (20.09.2009)
1. S. Goedecker, A. Hoisie, Performance Optimization of Numerically Intensive Codes, SIAM, Philadelphia, PA, 2001
2. J. Dongarra, J. Bunch, C. Moler and G. W. Stewart, Linpack User's Guide, SIAM, Philadelphia, PA, 1979, nebo online verze LAPACK Users' Guide
3. J. Dongarra, Sourcebook of parallel computing, Morgan Kaufmann Publishers, San Francisco, 2003
Poslední úprava: CARVA/MFF.CUNI.CZ (20.09.2009)
1. S. Goedecker, A. Hoisie, Performance Optimization of Numerically Intensive Codes, SIAM, Philadelphia, PA, 2001
2. J. Dongarra, J. Bunch, C. Moler and G. W. Stewart, Linpack User's Guide, SIAM, Philadelphia, PA, 1979, or online LAPACK Users' Guide
3. J. Dongarra, Sourcebook of parallel computing, Morgan Kaufmann Publishers, San Francisco, 2003
Sylabus -
Poslední úprava: CARVA/MFF.CUNI.CZ (20.09.2009)
Úvod do teorie výpočetní složitosti
Optimalizace programu:
měření výkonu, profilování
optimalizace cyklů
optimalizace rozloženi v paměti
řídké a jiné speciální matice
knihovny pro lineární algebru: LAPACK, BLAS
využití specifik architektury (např. SSE instrukce, velikost cache)
paralelizace (shared / distributed memory)
specifika vybraného jazyka (především Fortran 95/2003, C/C++, Matlab)
možnosti kompilace
Provádění výpočtu:
práce s distribuovanými systémy řízení úloh a zdrojů, seznámení se Sun Grid Engine
přehled dostupných výpočetních zdrojů v ČR
Aplikace:
Řada skutečných fyzikálních problémů pro otestování a upevnění získaných poznatků
Možnost zařazení studentem navrženého problému
Ukázka v praxi řešené úlohy: výpočet elektronové struktury
Poslední úprava: CARVA/MFF.CUNI.CZ (20.09.2009)
Introduction to computational complexity theory
Program optimizations:
Performance measurement, profiling
Cycle optimization
Memory distribution optimization
Sparse and other special matrices
Linear algebra packages: LAPACK, BLAS
Utilization of architecture-specific features (e.g. SSE instructions, cache size)
Parallelization (shared / distributed memory)
Specific features of selected programming language (mainly Fortran 95/2003, C/C++, Matlab)
Compiler options
Job execution:
Distributed job / resource management systems, introduction to Sun Grid Engine
Overview of available computational resources (clusters) in Czech Republic
Applications:
Selection of real physical problems aimed to test and strengthen acquired knowledge
The possibility to include problems proposed by students
Illustration of a task solved in practice: electronic structure calculation