Ing. Jakub Šístek, Ph.D.

Závěrečné práce

Bakalářské práce

Task-based implementace Choleského rozkladu

Autor
Vít Břichňáč
Rok
2023
Typ
Bakalářská práce
Vedoucí
Ing. Jakub Šístek, Ph.D.
Oponenti
Ing. Karel Klouda, Ph.D.
Anotace
Cílem této práce je představit blokový algoritmus pro nalezení Choleského rozkladu symetrické pozitivně definitní matice a implementovat tento algoritmus pomocí task-based runtime systémů StarPU a OpenMP. Tato implementace je otestována za pomoci testovacích rutin z knihovny LAPACK a její výkon je porovnán s několika volně dostupnými knihovnami pro numerickou lineární algebru na třech různých výpočetních uzlech. Výkon implementace na všech třech uzlech vykazuje konkurenceschopnost, především pak u větších matic. V teoretické části práce jsou zformulovány vlastní důkazy korektnosti jak blokového, tak neblokového algoritmu pro Choleského rozklad. Ve zbytku práce jsou prezentována schémata pro ukládání matic, rozhraní BLAS a základní koncepty task-based programování.

Identifikace vírů v proudění s využitím neuronových sítí

Autor
Daniel Riley
Rok
2024
Typ
Bakalářská práce
Vedoucí
Ing. Jakub Šístek, Ph.D.
Oponenti
Mgr. Petr Šimánek
Anotace
Výsledkem této práce je model, který dokáže rychle a přesně vypočitat velikost reziduálni viřivost. V této práci je prezentován úvod do identifikace virů v proudových polich. Podrobně je představena metoda trojné dekompozice. Tato metoda je schopna velmi přesně rozložit proud tekutiny na tři složky -- rotaci, deformaci a smyk. Jeji nevýhodou je, že je časově náročná a nemá analytickou reprezentaci pro 3D prouděni, což vede k diskrétnimu vzorkovani spojitého prostoru. Za cilem urychleni této metody je proveden pokus o předpověd' velikosti reziduálni viřivosti pomoci neuronové sitě. Tato práce rovněž popisuje připravu dat a trénink neuronové sitě.

Diplomové práce

Task-based implementace QR rozkladu a SVD

Autor
Vít Břichňáč
Rok
2025
Typ
Diplomová práce
Vedoucí
Ing. Jakub Šístek, Ph.D.
Oponenti
doc. Ing. Tomáš Oberhuber, Ph.D.
Anotace
Cílem této práce je představit přehled blokových algoritmů pro QR rozklad a Singular Value Decomposition (SVD) vhodných pro vícejádrové systémy se sdílenou pamětí a vektorovými registry. Jako součást této práce je poskytnuta implementace těchto algoritmů v jazyce C s využitím rozhraní OpenMP a s možností využití runtime systémů StarPU či PaRSEC pro algoritmy QR rozkladu. Výkon implementace je měřen na čtyřech různých výpočetních uzlech a porovnán s volně dostupnými knihovnami pro numerickou lineární algebru (PLASMA, Intel OneApi MKL, Arm Performance Libraries). Funkce pro QR rozklad z vlastní implementace se svým výkonem podobá ostatním testovaným knihovnám. Funkce pro SVD vykazuje celkovou konkurenceschopnost, a v případě výpočtu redukovaného SVD včetně singulárních vektorů překoná všechny ostatní testované knihovny na všech čtyřech výpočetních uzlech.