Font Size: a A A

Research On The GPU Implementation Of The FDTD Method For Photonic Crystal Band Structure Calculations

Posted on:2016-09-09Degree:MasterType:Thesis
Country:ChinaCandidate:S F ChaiFull Text:PDF
GTID:2180330467479112Subject:Communication and Information System
Abstract/Summary:PDF Full Text Request
Photonic crystals (PCs) are a kind of composite materials with periodic distribution of dielectric constants and magnetic permeability. The band gaps, where the waves in all directions are prohibited, can be generated in PCs due to the periodic structure. The band structure calculation is an important aspect of the theoretical study of PCs, and the finite-difference time-domain (FDTD) is widely used for this purpose. Despite the popularity and some notable merits of this method, a dense spatial grid and a small time step are generally needed in FDTD to meet the requirements of calculation accuracy and numerical stability. Therefore, when the calculation of a large scale system is performed, a huge amount of computing resource will generally be used and thus the calculation may be very time-consuming. However, the FDTD method can be implemented in a parallel manner. The whole calculation process can be divided into a number of sub-procedures executed at the same time, and there are only the data exchange taking place on the boundaries. Thus the FDTD method is a method of naturally parallel property and particularly suitable to be accelerated by a multi-threaded parallel computing technique. In this work, we implement the FDTD method for the photonic band structure calculations on a graphics processor unit (GPU), which is particularly specialized in the highly parallel and data intensive computing tasks. The Fortran program is written under the support of CUDA, which is the state of the art multi-threaded programming model for GPUs. The computing unified device architecture (CUDA) is proposed by the NVIDIA company and makes the application of GPU be extended to various fields. CUDA can implement the FDTD algorithm effectively on the GPU. In the traditional serial FDTD algorithm, the field value at every spatial point is calculated by iterative arithmetic in the time domain, where multiple cycles are used in the programming to deal with the whole FDTD computing domain. The FDTD parallel algorithm implemented on GPU, can make such iterative computing be parallel realized, by using the abstract CUDA threads to calculate one or a few Yee cellular lattice of iterative computation in a parallel manner. In order to expedite the computing, we make full use of the GPU which is constructed with hundreds of thousands of execution units (Arithmetic and Logic Unit, ALU), to accomplish the additions or multiplications needed for all the Yee’s cell within the computing domain in a parallel manner. The work is implemented on a platform with a GTX650video card and an Intel Core15CPU. We present the details of the technical implementation, and meanwhile, provide the technical implementation details and some numerical examples. The numerical results show that, compared with the traditional CPU calculations, the efficiency improvement brought about by using the GPU is very pronounced if the size of the spatial grid is big enough. For a spatial grid with several hundred of meshes in each dimension, the computing speed of the GPU can accelerated to be over10times faster than that of CPU (without any loss of the calculation accuracy), through a proper design of the parallel implementation scheme. Therefore, the FDTD photonic band structure calculation method can be effectively accelerated by using the GPU programming.
Keywords/Search Tags:photonic crystals, Finite-difference time-domain, graphics processorunit, computing unified device architecture
PDF Full Text Request
Related items