Employing Parallel Computing in Data-Intensive Tasks
Použití paralelních výpočtů v datově-intenzivních úlohách
dissertation thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/195240Identifiers
Study Information System: 164479
Collections
- Kvalifikační práce [11327]
Author
Advisor
Referee
Alvarez Martinez, Carlos
Jaroš, Jiří
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Computer Science - Software Systems
Department
Department of Software Engineering
Date of defense
26. 9. 2024
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Pass
Keywords (Czech)
paralelní výpočty, CUDA, GPU, datová analýza, data mining, vysoce výkonné počítání, strojové učeníKeywords (English)
parallel computing, CUDA, GPU, data analytics, data mining, high performance computing, machine learningTáto práca študuje, vyvíja a skúma optimalizáciu dátovo náročných vedeckých algo- ritmov pomocou grafických procesorových jednotiek (GPU) na zvýšenie výkonu a šká- lovateľnosti. Prvá časť práce je zameraná na návrh a implementáciu optimalizovaných programov pre štyri kľúčové algoritmy: hierarchické klastrovanie s Mahalanobisovou vz- dialenosťou, redukciu dimenzionality pomocou EmbedSOM, optimalizáciu algoritmu vzá- jomnej korelácie pre mnoho malých vstupov a stochastickú simuláciu booleovskej siete. V druhej časti práca nadväzuje na zistenia z prvej časti a navrhuje knižnicu Noarr, ktorá umožňuje efektívny vývoj vysoko-výkonneho softwéru. Zdôrazňuje kritickú úlohu opti- malizácie pamäte pri dosahovaní významných zlepšení výkonu a jej cieľom je zefektívniť implementáciu týchto optimalizácií poskytnutím nového nástroja na rozloženie pamäte a jej prechodu. Medzi hlavné prínosy tejto práce patrí implementácia nových techník optimalizácie GPU, vylepšenia výkonu vedeckých nástrojov až o tri rády, pokročilá ana- lýza a vizualizácia údajov v bioinformatike a fyzike materiálov a návrh nových nástrojov na efektívne vyjadrenie rozloženia a prechodu dátových štruktúr vo vysoko-výkonnom kóde. Výsledky tejto práce môžu byť použité na zlepšenie procesu vývoja udržiavateľných a efektívnych aplikácií a na usmernenie...
This thesis studies, develops, and investigates the optimization of data-intensive sci- entific algorithms using Graphics Processing Units (GPUs) to enhance performance and scalability. The first part of the thesis focuses on the design and implementation of optimized kernels for four key algorithms: hierarchical clustering with Mahalanobis link- age, neighborhood-based dimensionality reduction through EmbedSOM, optimization of cross-correlation algorithms for many small inputs, and stochastic simulation of Boolean networks. In the second part, the thesis builds upon the findings of the first part to propose a Noarr library, which enables the efficient development of high-performance computing (HPC) applications. It emphasizes the critical role of memory optimization in achieving significant performance improvements in HPC and aims to streamline the implementation of these optimizations by providing a novel memory layout and traversal optimization framework. The main contributions of this thesis comprise the implementa- tion of novel GPU optimization techniques, performance improvements of scientific tools of up to three orders of magnitude speedup, advancing data analysis and visualization in bioinformatics and material physics, and the design of new tools for efficient expression of data structure layout...