Parallel Computation of FDTD algorithm using CUDA

CUDA를 이용한 FDTD 알고리즘의 병렬처리

  • Lee, Ho-Young (School of Electrical and Electronics Engineering, Chung-Ang University) ;
  • Park, Jong-Hyun (School of Electrical and Electronics Engineering, Chung-Ang University) ;
  • Kim, Jun-Seong (School of Electrical and Electronics Engineering, Chung-Ang University)
  • 이호영 (중앙대학교 전자전기공학부) ;
  • 박종현 (중앙대학교 전자전기공학부) ;
  • 김준성 (중앙대학교 전자전기공학부)
  • Received : 2010.04.30
  • Accepted : 2010.07.07
  • Published : 2010.07.25

Abstract

Modern GPUs(Graphic Processing Units) provide computing capability higher than that of the general CPUs(Central Processor Units). With supports of programmability of graphics pipeline GP-GPU(General Purpose computation on GPU) has gained much attention expanding its application area. This paper compares sequential and massively parallel implementations of FDTD(Finite Difference Time Domain) algorithm using CUDA(Compute Unified Device Architecture). Experimental results show upto 45X speedup over conventional CPU execution.

CPU를 능가하는 GPU의 연산능력 향상으로 범용 계산에 그래픽 프로세서를 사용하는 GP-GPU연구가 활발히 전개되고 있으며, 그 응용분야가 확대되고 있다. 본 논문에서는 전자기학 관련 분야에서 널리 사용되는 FDTD 알고리즘을 nVIDIA에서 제공하는 소프트웨어 플랫폼인 CUDA를 사용하여 구현한다. FDTD 알고리즘의 주요 연산과정을 병렬화하고, 그래픽 카드 내각기 다른 메모리의 사용에 따라 최적화하며, 단일 프로세서에서 FDTD 알고리즘을 실행시킨 경우와 비교하여 그 성능 향상 정도를 측정한다. 실험결과 단일 프로세서로 구현하였을 때에 비해 실행시간이 45배까지 향상됨을 확인할 수 있었다.

Keywords

References

  1. E. Hesham, A. Mostafa, "Advanced Computer Architecture and Parallel Processing", WILEY, 2004.
  2. T. R. Halfhill, "Parallel Processing For the x86", MICROPROCESSOR REPORT, 2007.
  3. J. Y. Chen, "GPU technology trends and future requirements" Electron Devices Meeting (IEDM), 2009.
  4. J. D. Owens, M. Houston, D. Luebke, S. Green, J. E. Stone, J. C. Phillips, "GPU Computing" Proceedings of the IEEE, Vol.96 , Issue: 5, 2008.
  5. M. Houston, "GPGPU: General-purpose Computiatin on Graphics Hardware", SIGGRAPH 2007.
  6. D. Tarditi, S. Puri, J. Oglesby, "Accelerator Using data-parallelism to program GPUs for general-purpose uses", Int. Conf. Architect. Support Program. Lang. Oper. Syst, Oct, pp. 325 -335, 2006.
  7. T. R. Halfhill, "Parallel Processing With CUDA : Nvidia's High-Performance Computing Platform Uses Massive Multithreading", MICROPROCESSOR REPORT, 2008.
  8. W. M. Hwu, C. Rodrigues, S. Ryoo, J. Stratton, "Compute Unified Device Architecture Application Suitability", Computing in Science & Engineering Vol.11, Issue: 3, pp. 16-26, 2009. https://doi.org/10.1109/MCSE.2009.48
  9. S. Ryoo, "Optimization Principles and Application Performance Evaluation of a Multithreaded GPU using CUDA", ACM SIGPLAN Symp. Principles and Practice of Parallel Programming, pp. 73-82, 2008.
  10. K. S. Yee, "Numerical solution of initial boundary value problems involving Maxwell's equations in isotropic media", IEEE Trans. antennas and Propagation, Vol.14, pp. 302-307, 1996.
  11. D. M. Sullivan, "Electormagnetic simulation using the FDTD method", IEEE Press series on RF and microwave technology, 2000.