|
Akcelerace ultrazvukových simulací pomocí multi-GPU systémů
Stodůlka, Martin ; Vaverka, Filip (oponent) ; Jaroš, Jiří (vedoucí práce)
V této práci je kladen důraz na multi - GPU systémy a využití CUDA unifikované paměti.Hlavním cílem je akcelerovat výpočet 3D FFT, který je hlavní součástí simulací knihovny k- Wave .K- Wave je C++/ Matlab knihovna určena pro simulaci šíření ultrazvukových vln v 1D , 2D nebo 3D prostoru.Akcelerace těchto funkcí je potřebná, jelikož se jedná o výpočetně náročně simulace.
|
|
Paralelní zpracování signálů pomocí GPU
Václavík, Jiří ; Frýza, Tomáš (oponent) ; Mego, Roman (vedoucí práce)
Práce v úvodu naznačuje historii vzniku moderních grafických procesorů. V teoretické části textu je popsáno minimum k programovacímu modelu nutnému k naprogramování jednoduchých DSP algoritmů. Další část potom zpracovává tři běžné algoritmy pro zpracování signálu - filtr s konečnou impulsní odezvou, naivní implementaci diskrétní kosinové transformace typu II. a rychlou Fourierovu transformaci. Pro demonstraci paralelních možnosti GPU byl vybrán algoritmus kódování obrazových dat JPEG komprese, na kterém jsou dobře patrné výhody i nevýhody paralelního zpracování dat a kompromisy, po kterých je nutné sáhnout.
|
|
Akcelerace částicových rojů PSO pomocí GPU
Krézek, Vladimír ; Schwarz, Josef (oponent) ; Jaroš, Jiří (vedoucí práce)
Tato práce se zabývá technikou PSO (Particle Swarm Optimization neboli Optimalizace pomocí částicových rojů), s jejíž pomocí je možné řešit komplexní problémy. Tuto techniku lze využít při řešení složitých kombinatorických problémů (obchodní cestující, úloha o batohu), návrh integrovaných obvodů a antén, v oborech jako je biomedicína, robotika, umělá inteligence nebo i finančnictví. Přestože je algoritmus PSO velice efektivní, čas nezbytný pro nalezení vhodného řešení reálných problémů často přesahuje hranice únosnosti. Cílem této práce je tedy urychlit běh tohoto algoritmu pomocí grafického adaptéru, který nabízí velmi vysoký výpočetní potenciál při zachování příznivé ceny a rozměru. Pro demonstrační účely a ověření kvality implementace byl zvolen problém rozhodnutelnosti systému logických formulí (SAT), jenž patří do třídy NP-úplných problémů. Redukcí časové náročnosti algoritmu PSO při řešení SAT problému jsme tedy schopni akcelerovat celou třídu úloh a řešit problémy, které byly dosud prakticky neřešitelné.
|
|
Rekurentní neuronové sítě pro klasifikaci textů
Myška, Vojtěch ; Kolařík, Martin (oponent) ; Povoda, Lukáš (vedoucí práce)
Diplomová práce se zabývá návrhem neuronových sítí pro klasifikaci pozitivních a negativních textů. Vývoj probíhal v programovacím jazyce Python. Návrh modelů hlubokých neuronových sítí byl proveden pomocí vysokoúrovňového API Keras využívající knihovnu pro numerické výpočty TensorFlow. Výpočetní operace byly provedeny pomocí GPU využívající CUDA architekturu. Výstupem práce je jazykově nezávislý model neuronových sítí umožňující klasifikaci textů na úrovni znaků. Vzorky byly úspěšně klasifikovány až v 93,64% případů. Trénovací a testovací data byla poskytnuta vícejazyčnou a Yelp databází. Simulace byly provedeny na 1200000 anglických, 12000 českých, německých a španělských textů.
|
|
Využití funkcionálních jazyků pro hardwarovou akceleraci
Hodaňová, Andrea ; Kadlček, Filip (oponent) ; Fučík, Otto (vedoucí práce)
Cílem této práce je prozkoumat možnosti využití funkcionálního paradigmatu pro hardwarovou akceleraci, konkrétně pro datově paralelní úlohy. Úroveň abstrakce tradičních jazyků pro popis hardwaru, jako VHDL a Verilog, přestáví stačit. Pro popis na algoritmické či behaviorální úrovni se rozmáhají jazyky původně navržené pro vývoj softwaru a modelování, jako C/C++, SystemC nebo MATLAB. Funkcionální jazyky se s těmi imperativními nemůžou měřit v rozšířenosti a oblíbenosti mezi programátory, přesto je předčí v mnoha vlastnostech, např. ve verifikovatelnosti, schopnosti zachytit inherentní paralelismus a v kompaktnosti kódu. Pro akceleraci datově paralelních výpočtů se často používají jednotky FPGA, grafické karty (GPU) a vícejádrové procesory. Praktická část této práce rozšiřuje existující knihovnu Accelerate pro počítání na grafických kartách o výstup do VHDL. Accelerate je možno chápat jako doménově specifický jazyk vestavěný do Haskellu s backendem pro prostředí NVIDIA CUDA. Rozšíření pro vysokoúrovňovou syntézu obvodů ve VHDL představené v této práci používá stejný jazyk a frontend.
|
|
Využití grafického adaptéru pro obecné výpočty
Boček, Michal ; Pospíchal, Petr (oponent) ; Jaroš, Jiří (vedoucí práce)
Tato bakalářská práce se zabývá popisem programovacích modelů OpenCL a CUDA pro paralelní programování grafických adaptérů a v případě OpenCL i dalších výpočetních platforem. Je zde popsána implementace aplikace počítající elektrický potenciál v krystalické mřížce. Použitý algoritmus byl naprogramován s využitím dvou technologií pro GPU - OpenCL a CUDA. Byla mezi nimi porovnána rychlost výpočtu a dále s rychlostí výpočtu na CPU.
|
|
GPU-Accelerated Synthesis of Probabilistic Programs
Marcin, Vladimír ; Matyáš, Jiří (oponent) ; Češka, Milan (vedoucí práce)
This paper examines the problem of automatic synthesis of probabilistic programs: having a finite family of candidate programs, how can one efficiently identify a program that satisfies a given specification. Even the most straightforward synthesis problems prove to be NP-hard. An improvement to this state of practice is brought by the PAYNT tool, which tackles this problem with a novel integrated technique for synthesising probabilistic programs. Even though it efficiently deals with the exponential growth of the family size, there is still a problem with the underlying state-space explosion. To solve this problem, we have implemented GPU-oriented model-checking algorithms that takes advantage of the GPU architecture and parallelise the task at a state level of a probabilistic model. The overall acceleration that we were able to achieve with this approach was, under certain conditions, close to the theoretically possible limit of the acceleration of the whole synthesis process.
|
| |
|
Paralelní trénování neuronových sítí pro rozpoznávání řeči
Veselý, Karel ; Fousek, Petr (oponent) ; Burget, Lukáš (vedoucí práce)
Tato diplomová práce je zaměřena na paralelizaci trénování neuronových sítí pro rozpoznávání řeči. V rámci této diplomové práce byly implementovány a porovnány dvě strategie paralelizace. První strategií je paralelizace dat s využitím rozdělení trénování do několika POSIX vláken. Druhou strategií je paralelizace uzlů s využitím platformy pro obecné výpočty na grafických kartách CUDA. V případě první strategie bylo dosaženo 4x urychlení, v případě využití platformy CUDA bylo dosaženo téměř 10x urychlení. Pro trénování byl použit algoritmus Stochastic Gradient Descent se zpětným šířením chyb. Po krátkém úvodu následuje druhá kapitola práce, která je motivační a zasazuje probém do kontextu rozpoznávání řeči. Třetí kapitola práce je teoretická a diskutuje neuronové sítě a metodu trénování. Následující kapitoly jsou zaměřené na návrh a implementaci a popisují iterativní vývoj tohoto projektu. Poslední obsáhlá kapitola popisuje testovací systém a uvádí výsledky provedených experimentů. V závěru jsou krátce zhodnoceny dosažené výsledky a nastíněna perspektiva dalšího vývoje projektu.
|
|
Simulace šíření tepla v mozku s využitím vysokoúrovňových GPGPU technik
Krbila, Martin ; Kadlubiak, Kristián (oponent) ; Jaroš, Jiří (vedoucí práce)
Tato diplomová práce se zabývá akcelerací simulace šíření tepla na grafické kartě. Je zde popsán postup akcelerace existující implementace v Matlabu, která je součástí balíku k-Wave. V práci jsou popsány různé vysokoúrovňové i nízkoúrovňové knihovny pro programovaní na grafických kartách a shrnuty jejich silné a slabé stránky. Byla vytvořena implementace simulace na GPU kompletně pokrývající funkcionalitu původní verze, která dosahuje přibližně stonásobného zrychlení oproti procesorové implementaci v Matlabu. Jako součást této práce byl také vytvořen modul umožňující výpočet diskrétních trigonometrických transformací na grafické kartě, který dosahuje přibližně desetinásobného zrychlení oproti nejlepší procesorové variantě a umožňuje akceleraci simulace s různými okrajovými podmínkami. Výstupem práce je také srovnání výkonu několika verzí základní simulace při využití různých GPGPU technik.
|