2 research outputs found

    Accelerating cross-correlation with GPUs

    Get PDF
    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...Vzá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...Department of Distributed and Dependable SystemsKatedra distribuovaných a spolehlivých systémůMatematicko-fyzikální fakultaFaculty of Mathematics and Physic
    corecore