FDTD Acceleration using MATLAB Parallel Computing Toolbox and GPU

Authors

  • Joseph E. Diener Electrical Engineering and Computer Science Department Colorado School of Mines, Golden, CO 80401, USA
  • Atef Z. Elsherbeni Electrical Engineering and Computer Science Department Colorado School of Mines, Golden, CO 80401, USA

Keywords:

FDTD, GPU, MATLAB

Abstract

We present a MATLAB based finite difference time domain (FDTD) method accelerated using the GPU functions in MATLAB’s parallel computing toolbox (PCT). Procedures to achieve significant speedups over a CPU implementation of the same code are outlined. The use of specialized code with NVIDIA's compute unified device architecture (CUDA) programming results in impressive computational speedups. However, this requires specialized programming knowledge to efficiently implement. The MATLAB PCT can be applied directly to pre-existing MATLAB FDTD code and obtain reasonable speedups over equivalent CPU code. We demonstrate several modifications to increase the efficiency on several different NVIDIA graphics cards. Benchmarks are presented on problems of practical size (millions of cells) with a CPML terminated domain.

Downloads

Download data is not yet available.

References

V. Demir and A. Z. Elsherbeni, “Compute unified device architecture (CUDA) based finite-difference time-domain (FDTD) implementation,” ACES Journal, vol. 25, no. 4, pp. 303-314, April 2010.

A. Z. Elsherbeni and V. Demir, The FiniteDifference Time-Domain Method for Electromagnetics with MATLAB Simulations. second edition, ACES Series on Computational Electromagnetics and Engineering, SciTech Publishing, an Imprint of IET, Edison, NJ, 2016.

V. Demir, “A stacking scheme to improve the efficiency of finite-difference time-domain solutions on graphics processing units,” ACES Journal, vol. 25, no. 4, pp. 323-330, April 2010.

Illustrating three approaches to GPU Computing: the Mandelbrot Set, http://www.mathworks.com/help/ distcomp/examples/illustrating-three-approaches-togpu-computing-the-mandelbrot-set.html, May, 2016.

Improve Performance of Element-wise MATLAB Functions on the GPU using ARRAYFUN, http://www.mathworks.com/help/distcomp/examp les/improve-performance-of-element-wise-matlabfunctions-on-the-gpu-using-arrayfun.html, May, 2016.

M. J. Inman, A. Z. Elsherbeni, and C. J. Reddy, “CUDA based LU decomposition solvers for CEM applications,” ACES Journal, vol. 25, no. 4, pp. 339-347, April 2010.

Joss Knight, High-Performance MATLAB with GPU Acceleration, https://devblogs.nvidia. com/parallelforall/high-performance-matlab-gpuacceleration, January 2017.

V. Demir, A. Z. Elsherbeni, CEMS Software Package, based on [2], 2014.

MATLAB Answers Forum Question, http:// www.mathworks.com/matlabcentral/answers/239 817-matlab-s-r2015b-new-jit-experiences-a-severedegradation-in-speed-in-the-following-examplebut-the, February 2017.

Downloads

Published

2021-08-03

How to Cite

[1]
Joseph E. Diener and Atef Z. Elsherbeni, “FDTD Acceleration using MATLAB Parallel Computing Toolbox and GPU”, ACES Journal, vol. 32, no. 04, pp. 283–288, Aug. 2021.

Issue

Section

General Submission