Bachelor theses
Task-based implementation of Cholesky decomposition
Author
Vít Břichňáč
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Jakub Šístek, Ph.D.
Reviewers
Ing. Karel Klouda, Ph.D.
Department
Summary
The aim of this thesis is to present the blocked algorithm for finding a Cholesky decomposition of a symmetric positive definite matrix and to provide an implementation of the algorithm using the StarPU and OpenMP task-based runtime systems. The implementation is tested using test routines from the LAPACK library and its performance is compared to several available libraries for numerical linear algebra on three different compute nodes. On all three of them, the implementation delivers a competitive performance, especially for larger matrices. In the theoretical part of the thesis, custom proofs of correctness are formulated for both the blocked and the unblocked algorithms for Cholesky decomposition. The rest of the thesis explores matrix storage schemes, the BLAS interface and basic concepts of task-based programming.
Vortex identification with the aid of neural networks
Author
Daniel Riley
Year
2024
Type
Bachelor thesis
Supervisor
Ing. Jakub Šístek, Ph.D.
Reviewers
Mgr. Petr Šimánek
Department
Summary
The result of this work is a model that can quickly and accurately compute residual
vorticity magnitude. In this thesis an introduction to vortex identification in flow fields
is provided. The Triple decomposition method is presented in detail. This method is
excellent at accurately decomposing motion in a fluid into three components -- rotation,
strain, and shear. Its downside is that it is time-consuming, since it does not have
an analytical representation for 3D flows, which leads to using a grid search. To speed
up this method, an attempt is made to predict residual vorticity magnitude using a neural
network. Data preparation and the training of a neural network are described.
Master theses
Task-based implementation of QR factorization and SVD
Author
Vít Břichňáč
Year
2025
Type
Master thesis
Supervisor
Ing. Jakub Šístek, Ph.D.
Reviewers
doc. Ing. Tomáš Oberhuber, Ph.D.
Department
Summary
The goal of this thesis is to present an overview of block algorithms for QR factorization and Singular Value Decomposition (SVD) suitable for multicore shared-memory systems with vector registers. As a part of the thesis, an implementation of these algorithms is provided in the C language using the OpenMP interface, with the option of using the StarPU or PaRSEC runtime systems for the QR factorization algorithms. The performance of the implementation is evaluated on four different compute nodes and compared with freely available libraries for numerical linear algebra (PLASMA, Intel OneApi MKL and Arm Performance Libraries). The custom QR factorization routine exhibits a performance similar to the other tested libraries. The SVD routine delivers a competitive performance overall, and when reduced SVD with singular vectors is computed, it outperforms all of the other tested libraries on all four compute nodes.