Implementation of algorithms for calculating matrix eigenvalues in the TNL library
Implementace algoritmů pro výpočet vlastních čísel matic v knihovně TNL
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Tato bakalářská práce se zabývá implementací algoritmů pro výpočet vlastních čísel matic v Template Numerical Library (TNL). Cílem bylo seznámit se s numerickými algoritmy pro výpočet vlastních čísel matic, konkrétně mocninnou metodou, posunutou mocninnou metodou a QR algoritmem, a následně je implementovat do knihovny TNL. Pro ověření správnosti implementace byly vytvořeny unit testy, které ověřovaly správnou funkčnost algoritmů pro různé vstupy. Dále byly provedeny výkonnostní testy, které zkoumaly, jak se mění výkon při různých velikostech a formátech matic. Testy se zaměřily také na vliv přesnosti výpočtů a na rozdíly ve výkonu při výpočtech na CPU a při paralelním běhu na CPU a GPU. Po důkladné analýze výsledků byla vydána doporučení ohledně optimálních konfigurací pro dosažení nejlepšího výkonu a výsledků. Práce rovněž uvádí možná budoucí vylepšení implementovaných algoritmů a nabízí návrhy na zlepšení metodiky testování výkonu.
This bachelors thesis focuses on the implementation of algorithms for computing eigenvalues of matrices in the Template Numerical Library (TNL). The goal was to become familiar with numerical algorithms for computing eigenvalues of matrices, specifically the power method, the shifted power method, and the QR algorithm, and subsequently implement them into the TNL library. To verify the correctness of the implementation, unit tests were created to ensure the algorithms functioned correctly for various inputs. Additionally, benchmarks were conducted to examine how performance changes with different matrix sizes and formats. The benchmarks also focused on the impact of precision and the performance differences between running calculations on a CPU and parallel execution on a CPU and GPU. After thorough analysis of the results, recommendations were made regarding the best configurations for achieving optimal performance and results. The thesis also outlines possible future improvements for the implemented algorithms and suggests ways to enhance the benchmark methodology.
This bachelors thesis focuses on the implementation of algorithms for computing eigenvalues of matrices in the Template Numerical Library (TNL). The goal was to become familiar with numerical algorithms for computing eigenvalues of matrices, specifically the power method, the shifted power method, and the QR algorithm, and subsequently implement them into the TNL library. To verify the correctness of the implementation, unit tests were created to ensure the algorithms functioned correctly for various inputs. Additionally, benchmarks were conducted to examine how performance changes with different matrix sizes and formats. The benchmarks also focused on the impact of precision and the performance differences between running calculations on a CPU and parallel execution on a CPU and GPU. After thorough analysis of the results, recommendations were made regarding the best configurations for achieving optimal performance and results. The thesis also outlines possible future improvements for the implemented algorithms and suggests ways to enhance the benchmark methodology.