Back to Search Start Over

Porting preprocessing algorithm for phase retrieval from MATLAB to GPU-based Python

Authors :
Lerch, Noa
Lerch, Noa
Publication Year :
2024

Abstract

Phase retrieval is the problem of computationally determining the phaseof a signal based on an image of intensity measurements. In this thesis, weported two programs from MATLAB to a Graphics Processing Unit (GPU)based Python implementation, one being a package for solving convexoptimization problems, and the other being a preprocessing algorithm forreconstructing (“healing”) intensities in an image to improve phase retrievalaccuracy. The goal of porting the software was achieving a performancegain, as well as to improve maintainability of the code by moving awayfrom some undesirable MATLAB syntax. The bulk of the computationalload in the preprocessor is repeated use of large linear algebra operationsand the Fast Fourier Transform (FFT), which are highly parallelizable. Toachieve greater performance, the ported Python program uses the CuPylibrary for GPU computations, resulting in an almost 1.5 times speedupfor equivalent results on the same input. We noted some minor numericaldifferences between MATLAB and Python runs, and discussed the processof porting numerical code from MATLAB to Python. We also discussedefficient use of GPU computing with respect to minimizing the performancebottleneck resulting from data transfers between the CPU and GPU. Thetransition to GPU-based Python enhanced performance somewhat andlays the groundwork for future improvements.

Details

Database :
OAIster
Notes :
application/pdf, English
Publication Type :
Electronic Resource
Accession number :
edsoai.on1457663743
Document Type :
Electronic Resource