9600-1011/01 – Parallel Numerical Libraries (PNK)

Gurantor departmentIT4InnovationsCredits6
Subject guarantordoc. Mgr. Vít Vondrák, Ph.D.Subject version guarantordoc. Mgr. Vít Vondrák, Ph.D.
Study levelundergraduate or graduate
Study languageCzech
Year of introduction2016/2017Year of cancellation
Intended for the facultiesUSPIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
VON15 doc. Mgr. Vít Vondrák, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit and Examination 2+2

Subject aims expressed by acquired skills and competences

Upon the successful completion of the course students will be able to actively use new terms in the field of parallel libraries.

Teaching methods

Project work


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.

Compulsory literature:

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.

Recommended literature:

Other appropriate resources available on the Internet.

Way of continuous check of knowledge in the course of semester


Další požadavky na studenta

No other requirements.


Subject has no prerequisities.


Subject has no co-requisities.

Subject syllabus:

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)

Conditions for subject completion

Full-time form (validity from: 2017/2018 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Credit and Examination Credit and Examination 100 (100) 51
        Credit Credit 30  15
        Examination Examination 70  51
Mandatory attendence parzicipation: - obligatory participation at all exercises, 2 apologies are accepted - defended 3 semestral projects

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.FormStudy language Tut. centreYearWSType of duty
2018/2019 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Compulsory study plan
2017/2018 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Compulsory study plan
2016/2017 (N2658) Computational Sciences (2612T078) Computational Sciences P Czech Ostrava 2 Compulsory study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner