• DocumentCode
    2857723
  • Title

    Finite Difference Time Domain (FDTD) Simulations Using Graphics Processors

  • Author

    Adams, Samuel ; Payne, Jason ; Boppana, Rajendra

  • Author_Institution
    US Air Force Res. Lab., Brooks City-Base
  • fYear
    2007
  • fDate
    18-21 June 2007
  • Firstpage
    334
  • Lastpage
    338
  • Abstract
    This paper presents a graphics processor based implementation of the Finite Difference Time Domain (FDTD), which uses a central finite differencing scheme for solving Maxwell´s equations for electromagnetics. FDTD simulations can be very computationally expensive and require thousands of CPU hours to solve on traditional general purpose processors. Modern Graphics Processing Units (GPUs) found in desktop computers are programmable and are capable of much higher vector floating-point performance than general purpose CPUs. This paper shows how GPUs can be used to greatly speedup FDTD simulations. The main objective is to leverage GPU processing power for FDTD update calculations and complete computationally expensive simulations in reasonable time. This allows researchers to simulate much longer pulse lengths and larger models than was possible in the past. A new FDTD code was developed to leverage graphics processors using Linux, C, OpenGL, Cg, and commodity GeForce 7 series GPUs. The graphics hardware was accessed through standard OpenGL. The FDTD model space was then transferred to the GPU device memory through OpenGL textures and host readable via frame buffer objects exposed by the OpenGL 2.0 application programming interface (API). GPU fragment processors were utilized for the FDTD update computations via Cg fragment programs. For models that were sufficiently large, greater than (140)3 cells, the GPU performed FDTD update calculations at least 12 times faster than the execution of the same simulation on a contemporary multicore CPU from Intel or AMD. The use of GPUs shows great promise for high performance computing applications like FDTD that have high arithmetic intensity and limited or no data dependencies in computation streams. Until recently, to use GPUs as a co-processor, the normalCPU-based code needed to be rewritten extensively using special graphics programming language Cg and OpenGL APIs, which is difficult for non-graphics programmers. - However, newer GPUs, such as NVIDIA´s G80, provide unified shaders models for programming GPU processing elements and APIs that allow compiler tools to allow direct programming of graphics hardware without extra intermediate graphics programming with OpenGL and Cg. Currently, a message passing interface-based parallel GPU FDTD code is being developed and benchmarked on a cluster of G80 GPUs.
  • Keywords
    Maxwell equations; application program interfaces; computational electromagnetics; finite difference time-domain analysis; mathematics computing; FDTD simulations; FDTD update calculations; GPU device memory; Maxwell equations; OpenGL 2.0 API; application programming interface; electromagnetics; finite difference time domain; finite differencing scheme; graphics hardware; graphics processor based implementation; Central Processing Unit; Computational modeling; Electromagnetics; Finite difference methods; Graphics; Hardware; High performance computing; Maxwell equations; Parallel programming; Time domain analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    DoD High Performance Computing Modernization Program Users Group Conference, 2007
  • Conference_Location
    Pittsburgh, PA
  • Print_ISBN
    978-0-7695-3088-5
  • Type

    conf

  • DOI
    10.1109/HPCMP-UGC.2007.34
  • Filename
    4438007