Skip to main content
Skip header

Parallel Numerical Libraries

* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code9600-1011/01
Number of ECTS Credits Allocated6 ECTS credits
Type of Course Unit *Compulsory
Level of Course Unit *Second Cycle
Year of Study *First Year
Semester when the Course Unit is deliveredSummer Semester
Mode of DeliveryFace-to-face
Language of InstructionCzech
Prerequisites and Co-Requisites Course succeeds to compulsory courses of previous semester
Name of Lecturer(s)Personal IDName
VON15doc. 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 TitleTask TypeMaximum Number of Points
(Act. for Subtasks)
Minimum Number of Points for Task Passing
Credit and ExaminationCredit and Examination100 (100)51
        CreditCredit30 15
        ExaminationExamination70 51