Zpracování dat z elektronového mikroskopu pomocí GPU
Employing GPU to Process Data from Electron Microscope
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/124643Identifiers
Study Information System: 218956
Collections
- Kvalifikační práce [11322]
Author
Advisor
Referee
Šikudová, Elena
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Software Engineering
Date of defense
4. 2. 2021
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Very good
Keywords (Czech)
GPU|paralelní|data|obraz|vzorKeywords (English)
GPU|parallel|data|image|patternElectron backscatter diffraction (EBSD) je metóda, ktorou fyzici bežne skúmajú kryštalické materiály. Jej základom je elektrónový mikroskop, kto- rým robia obrázky mikroštruktúry materiálu. Na to, aby boli schopní zistiť viac vlastností študovaných vzoriek, vznikla nová varianta metódy ktorá sa volá High resolution EBSD. Táto metóda spočíta vzájomnú koreláciu (cross- correlation) niekoľkých výsekov z EBSD fotografií, aby určila mieru ich defor- mácie voči referenčným obrázkom. Použiteľnosť tejto metódy je limitovaná relatívne veľkou náročnosťou výpočtu, čo znamená že sa nedá použiť na ana- lýzu väčších datasetov. Tiež platí, že spracovávanie jednotlivých výsekov aj obrázkov je nezávislé, čo znamená, že algoritmus je vhodný pre paralelizáciu na moderných GPU. V tejto práci detailne popisujeme spôsob akým sa spra- covávajú EBSD obrázky, analyzujeme ho a implementujeme najnáročnejšie časti s použitím CUDA technológie. V porovnaní s referenčnou implementá- ciou v Pythone sme dosiahli 30 až 40 násobné zrýchlenie pri výpočte vo vyššej presnosti (double) a až 270 násobné (v závislosti od parametrov) zrýchlenie pri výpočte v nižšej presnosti float.
Electron backscatter diffraction (EBSD) is a common tool used by phy- sicists to examine crystalline materials, which is based on taking pictures of material microstructure using electron microscope. To determine additional characteristics of studied specimen, a specific variant called High resolution EBSD has been proposed (and partially adopted). The technique takes se- veral subregions of the images taken by the EBSD camera and uses cross- correlation to measure deformation of obtained patterns. Usability of this method is limited by its relatively high computational complexity, which makes it useless for the analysis of larger specimen surfaces. At the same time, processing of individual subregions and images is independent, which makes it appropriate for parallelization provided by modern GPUs. In this thesis, we describe the technique used to process the EBSD data in detail, analyze it and implement the most computationally demanding parts using the CUDA technology. Compared to a reference Python implementation, we measured a speedup of 30-40-times when using a double floating precision and up to a 270-times speedup for a single precision.