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
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/67070Identifikátory
SIS: 143384
Kolekce
- Kvalifikační práce [10925]
Autor
Vedoucí práce
Oponent práce
Brabec, Michal
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra softwarového inženýrství
Datum obhajoby
8. 9. 2014
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Slovenština
Známka
Výborně
Klíčová slova (česky)
globálna optimalizácia, extrémy funkcií, analýza dát, paralelizácia, GPU, CUDAKlíčová slova (anglicky)
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.