Riešenie problému globálnej optimalizácie využitím GPU
Employing GPUs in Global Optimization Problems
Riešenie problému globálnej optimalizácie využitím GPU
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/67070Identifiers
Study Information System: 143384
Collections
- Kvalifikační práce [11322]
Author
Advisor
Referee
Brabec, Michal
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Software Engineering
Date of defense
8. 9. 2014
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Slovak
Grade
Excellent
Keywords (Czech)
globálna optimalizácia, extrémy funkcií, analýza dát, paralelizácia, GPU, CUDAKeywords (English)
global optimization, extremes of function, data analysis, parallel, GPU, CUDAProblém globálnej optimalizácie, inými slovami problém hľadania globálnych extrémov funkcie v obmedzenom obore hodnôt, sa často objavuje v reálnych aplikáciách. Zvýšením účinnosti pri riešení tejto úlohy môže byť dosiahnuté zrýchlenie odozvy aplikácie, alebo poskytnutie presnejšieho výsledku, nakoľko sa úloha rieši pomocou aproximačných algoritmov. Táto práca je zameraná na praktické aspekty globálnej optimalizácie, najmä z oboru analýzy dát vo svete algoritmického obchodovania. Úspešné riešenia tejto úlohy za pomoci CPU sú už síce známe, ale ich hlavnou nevýhodou je veľká časová náročnosť. Hlavným cieľom tejto práce je preto navrhnúť riešenie problému globálnej optimalizácie za pomoci surovej výpočtovej sily GPU. Napriek neporovnateľne väčšiemu počtu výpočtových jadier, ktorými GPU oproti CPU disponuje, je však paralelizácia známych sériových algoritmov pomerne náročná, a to kvôli špecifikám GPU, ako sú napríklad výpočtový model, alebo architektúra pamäti. Druhotným cieľom tejto práce je preto preskúmať viacero možných prístupov k riešeniu úlohy globálnej optimalizácie a experimentálne porovnať dosiahnuté výsledky.
The global optimization problem -- i.e., the problem of finding global extreme points of given function on restricted domain of values -- often appears in many real-world applications. Improving efficiency of this task can reduce the latency of the application or provide more precise result since the task is usually solved by an approximative algorithm. This thesis focuses on the practical aspects of global optimization algorithms, especially in the domain of algorithmic trading data analysis. Successful implementations of the global optimization solver already exist for CPUs, but they are quite time demanding. The main objective of this thesis is to design a GO solver that utilizes the raw computational power of the GPU devices. Despite the fact that the GPUs have significantly more computational cores than the CPUs, the parallelization of a known serial algorithm is often quite challenging due to the specific execution model and the memory architecture constraints of the existing GPU architectures. Therefore, the thesis will explore multiple approaches to the problem and present their experimental results.