Implementation of advanced parallel algorithms for multidimensional arrays in the TNL library
Implementace pokročilých paralelních algoritmů pro vícerozměrná pole 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 zaměřuje na vývoj a optimalizaci pokročilých paralelních algoritmů pro vícerozměrná pole v rámci knihovny Template Numerical Library (TNL). Hlavními přínosy jsou návrh a implementace funkcí Reduction3D a nd_reduce, které umožňují efektivní redukční operace napříč více dimenzemi. Využitím paralelních výpočetních frameworků, jako jsou OpenMP pro CPU a CUDA pro GPU, tyto algoritmy zajišťují škálovatelnost a vysoký výkon na různých hardwarových platformách. Rozsáhlé testování a benchmarking na datových sadách od 1D do 6D ukazují významná zlepšení v rychlosti a efektivitě výpočtů.
This bachelors thesis focuses on the development and optimization of advanced parallel algorithms for multidimensional arrays within the Template Numerical Library (TNL). The main contributions include the design and implementation of the Reduction3D and nd_reduce functions, which enable efficient reduction operations across multiple dimensions. By utilizing parallel computing frameworks such as OpenMP for CPUs and CUDA for GPUs, these algorithms ensure scalability and high performance across various hardware platforms. Extensive testing and benchmarking across 1D to 6D datasets demonstrate significant improvements in computational speed and efficiency.
This bachelors thesis focuses on the development and optimization of advanced parallel algorithms for multidimensional arrays within the Template Numerical Library (TNL). The main contributions include the design and implementation of the Reduction3D and nd_reduce functions, which enable efficient reduction operations across multiple dimensions. By utilizing parallel computing frameworks such as OpenMP for CPUs and CUDA for GPUs, these algorithms ensure scalability and high performance across various hardware platforms. Extensive testing and benchmarking across 1D to 6D datasets demonstrate significant improvements in computational speed and efficiency.