Browsing by Subject "banded solver"
Now showing items 11 of 1

(2023)This thesis examines the implementation of general purpose graphics processing unit (GPGPU) acceleration to a nonequilibrium Green’s function (NEGF) equation solver in the context of a computational photoelectrochemical (PEC) cell model. The goal is to find out whether GPGPU acceleration of the NEGF equation solver is a viable option. The current model does not yet have electronphoton scattering, but from the results it is possible to assess the viability of GPGPU acceleration in the case of a complete PEC cell model. The viability of GPGPU acceleration was studied by comparing the performance difference of two graphics processing unit (GPU) solutions against a multi core central processing unit (CPU) solution. The difference between the two GPU solutions was in the used floatingpoint precision. The GPU solutions would use LU factorization to solve the NEGF equations, and the CPU solution a banded solver (Gauss tridiagonal) provided by Scipy Python package. The performance comparison was done on multiple different GPU and CPU hardware. The electrical transport properties of the PEC cell were modeled by a selfconsistent process in which the NEGF and Poisson equations were solved iteratively. The PEC cell was described as a semiconductor device connected with a metal and electrolyte contacts. The device was assumed to be a simple one dimensional tightbinding atom chain made of GaAs, where the transverse modes in the y–z plane are treated with a logarithmic function. The computational model did lack electronphoton scattering, which would be implemented in the future. From the benchmark results, it can be concluded that the GPGPU acceleration via LU factorization is not a viable option in the current code or in the complete model with electronphoton scattering and the assumed approximations. The parallel multicore CPU code generally outperformed the GPU codes. The key weakness of the GPU code was the usage of LU factorization. Despite of this, there could be an opportunity for GPGPU acceleration if a more complex lattice structure and more exact scattering terms would be used. Also, a GPU accelerated tridiagonal solver could be a possible solution.
Now showing items 11 of 1