Stacked-Bloch-wave electron diffraction simulations using GPU acceleration.
In this paper, we discuss the advantages for Bloch-wave simulations performed using graphics processing units (GPUs), based on approximating the matrix exponential directly instead of performing a matrix diagonalization. Our direct matrix-exponential algorithm yields a functionally identical electron scattering matrix to that generated with matrix diagonalization. Using the matrix-exponential scaling-and-squaring method with a Padé approximation, direct GPU-based matrix-exponential double-precision calculations are up to 20× faster than CPU-based calculations and up to approximately 70× faster than matrix diagonalization. We compare precision and runtime of scaling and squaring methods with either the Padé approximation or a Taylor expansion. We also discuss the stacked-Bloch-wave method, and show that our stacked-Bloch-wave implementation yields the same electron scattering matrix as traditional Bloch-wave matrix diagonalization.
ELIM, Institut für Experimentelle Physik, Universität Ulm, Albert-Einstein-Allee 11, 89081 Ulm, Germany. Electronic address: robert.pennington@uni-ulm.de.
Robert S
RS
Pennington
ELIM, Institut für Experimentelle Physik, Universität Ulm, Albert-Einstein-Allee 11, 89081 Ulm, Germany.
Feng
F
Wang
ELIM, Institut für Experimentelle Physik, Universität Ulm, Albert-Einstein-Allee 11, 89081 Ulm, Germany.
Christoph T
CT
Koch
Bloch-wave TEM simulation; Electron diffraction; GPU programming; Parallel processing