Course Unit Code | 9600-1011/01 |
---|
Number of ECTS Credits Allocated | 6 ECTS credits |
---|
Type of Course Unit * | Compulsory |
---|
Level of Course Unit * | Second Cycle |
---|
Year of Study * | First Year |
---|
Semester when the Course Unit is delivered | Summer Semester |
---|
Mode of Delivery | Face-to-face |
---|
Language of Instruction | Czech |
---|
Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester |
---|
Name of Lecturer(s) | Personal ID | Name |
---|
| VON15 | doc. Mgr. Vít Vondrák, Ph.D. |
Summary |
---|
Students are introduced to efficient parallel implementations of numerical methods and their application for parallel solutions to large-scale problems. These problems cannot be solved on common personal computers as they require supercomputers. Students will learn about the most frequently used, mainly open-source, libraries for numerical computations. Within the practical trainings the emphasis will be put on implementation in C/C++ or FORTRAN. |
Learning Outcomes of the Course Unit |
---|
Upon the successful completion of the course students will be able to actively use new terms in the field of parallel libraries. |
Course Contents |
---|
1. Introduction to FORTRAN Programming Language
2. Set of Tools for Numerical Computing
o Trilinos, Eigen, Armadillo, MKL
o PETSc a nadstavby (SLEPc, TAO, libMesh, Deal.II, FEniCS)
3. BLAS Specification (Basic linear algebra subroutines)
o Existing Implementations (ATLAS, GotoBLAS, MKL, CUBLAS)
4. Methods for Solving Dense Systems of Linear Equations
o Storage of Dense Matrices
o Blocking for Efficient Utilization of Processor Cache Memory
o Indefinite or Singular Matrix Systems of Linear Equations and Their Solution
o Stabilization through Pivotization and RBT (Random Butterfly Transformation) method
o Existing Implementations (LINPACK, LAPACK, ScaLAPACK, MKL, CULA, PLASMA, MAGMA)
5. Methods for Solving Sparse Systems of Linear Equations
o Storage of Sparse Matrices (CSR, CSC, …)
o Recasting for Retaining Sparsity
o Graph Methods (METIS and other)
o Multi-frontal Method
o Super-nodal Method
o Existing Implementations (MUMPS, SuperLU, PaStiX, PARDISO)
6. Methods for Solving Large-scale Eigenvalue Problems
o QR decomposition, Connection with Cholesky Decomposition
o Spectral and Singular Value Decomposition
o Iterative Methods
o Existing Implementations (e.g. ARPACK, BLOPEX, FEAST, MKL)
7. Preconditioning, Domain Decomposition, and Multigrid Methods
o Existing Implementations (Hypre, Trilinos, PETSc)
8. Methods of Discretization in HPC Context
o FDM, FEM
o Existing Implementations (libMesh, Deal.II, FEniCS)
|
Recommended or Required Reading |
---|
Required Reading: |
---|
1. Gene H. Golub and Charles F. Van Loan, Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences), Dec 27, 2012
2. Manuals to all taught parallel numerical libraries.
|
1. Gene H. Golub and Charles F. Van Loan, Matrix Computations (Johns Hopkins Studies in the Mathematical Sciences), Dec 27, 2012
2. Manuály k jednotlivým probíraným paralelním numerickým knihovnám.
|
Recommended Reading: |
---|
Other appropriate resources available on the Internet. |
Další vhodné zdroje dostupné na internetu. |
Planned learning activities and teaching methods |
---|
Lectures, Tutorials, Project work |
Assesment methods and criteria |
---|
Task Title | Task Type | Maximum Number of Points (Act. for Subtasks) | Minimum Number of Points for Task Passing |
---|
Credit and Examination | Credit and Examination | 100 (100) | 51 |
Credit | Credit | 30 | 15 |
Examination | Examination | 70 | 51 |