Akcelerace vzájemné korelace pomocí GPU
Accelerating cross-correlation with GPUs
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/176386Identifikátory
SIS: 242076
Kolekce
- Kvalifikační práce [11241]
Autor
Vedoucí práce
Oponent práce
Horáček, Jan
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
13. 9. 2022
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
korelace|zpracování signálu|paralelní|GPU|CUDAKlíčová slova (anglicky)
cross-correlation|signal processing|parallel|GPU|CUDAVzájemná korelace je často používaný nástroj v oboru zpracování signálu, který je možné aplikovat pro rozpoznávání obrazu, částicovou fyziku, elektronovou tomografii a pro mnoho dalších oblastí. Pro mnohé z těchto aplikací je výkon vzájemné korelace lim- itujícím faktorem pro celkový výkon systému z důvodů její výpočetní náročnosti. V této práci provedeme analýzu vzájemné korelace vzhledem k možnostem pro její optimalizaci a paralelizaci. Následně implementujeme několik optimalizací algoritmu odvozeného z definice vzájemné korelace, se zaměřením na paralelizaci pomocí grafických karet (GPU). Přestože tento algoritmus poskytuje mnoho možností pro paralelizaci, je pro jejich využití potřeba vyřešit několik problémů, jako je například nízká aritmetická intenzita algoritmu. Problémy se nadále liší podle typu vstupních dat, mezi které patří korelace jednoho páru vstupů, jednoho vstupu s množinou jiných vstupů, případně korelace mnoha vstupů s mnoha jinými vstupy. V závěru práce poté porovnáme námi implementované optimal- izace algoritmu založeného na definici vzájemné korelace s asymptoticky rychlejším a často používaným algoritmem založeným na Rychlé Fourierově transformaci (FFT). V závislosti na celkové velikosti vstupních dat dosahuje naše implementace stejné rychlosti jako algoritmus založený na FFT při...
Cross-correlation is a commonly used tool in the field of signal processing, with ap- plications in pattern recognition, particle physics, electron tomography, and many other areas. For many of these applications, it is often the limiting factor on system perfor- mance due to its computational complexity. In this thesis, we analyze the cross-correlation algorithm and its optimization and parallelization possibilities. We then implement sev- eral optimizations of the definition-based algorithm, mainly focused on parallelization using the Graphical processing unit (GPU). Even though the definition-based algorithm provides many possibilities for parallelization, the implementation needs to solve several problems, such as the algorithm's low arithmetic intensity. Furthermore, the problems differ between computation types, which include cross-correlating a pair of inputs, one in- put with many other inputs, or many inputs with many other inputs. Lastly, we compare the optimizations of the definition-based algorithm with the asymptotically faster and commonly used algorithm based on the Fast Fourier Transform. Depending on the total size of the data, we achieve parity between the two algorithms for matrix sizes ranging from 60x60 to 150x150, allowing performance improvements for systems using matrices smaller...