GPU를 사용한 효율적인 공간 데이터 처리

An Efficient Technique for Processing of Spatial Data Using GPU

  • 이재일 (금오공과대학교 컴퓨터공학과) ;
  • 오병우 (금오공과대학교 컴퓨터공학과)
  • 발행 : 2009.11.30

초록

최근 그래픽 프로세서(GPU)의 발전에 따라 대량의 프로세서를 탑재한 고성능 그래픽 카드가 개인 컴퓨터에서 널리 사용되고 있다. GPU를 사용하여 CPU의 부하를 줄이면서도 성능을 향상시킬 수 있어서 복잡한 연산을 처리해야 하는 다양한 응용 프로그램에 적용하는 연구가 활발히 진행되고 있다. 본 논문에서는 복잡한 연산이 필요한 공간 데이터 처리의 성능을 향상시키기 위하여 GPU의 병렬 처리 기술을 활용하는 방법을 제안하였다. 원본 공간 데이터를 화면에 출력하기 위해서는 그래픽 처리 연산이 필요하며 같은 종류의 연산을 모든 데이터에 적용해야 하므로 GPU의 SIMD 병렬 처리를 사용하여 성능을 향상시킬 수 있다.

Recently, GPU (Graphics Processing Unit) has been improved rapidly on the need of speed for gaming. As a result, GPU contains multiple ALU (Arithmetic Logic Unit) for parallel processing of a lot of graphics data, such as transform, ray tracing, etc. Therefore, this paper proposed a technique for parallel processing of spatial data using GPU. Spatial data consists of multiple coordinates, and each coordinate contains value of x and y axis. To display spatial data graphics operations have to be processed to large amount of coordinates. Because the graphics operation is identical and coordinates are multiple data, SIMD (Single Instruction Multiple Data) parallel processing of GPU can be used for processing of spatial data to improve performance. This paper implemented SIMD parallel processing of spatial data using two kinds of SDK (Software Development Kit). CUDA and ATI Stream are used for NVIDIA and ATI GPU respectively. Experiments that measure time of calculation for graphics operations are carried out to observe enhancement of performance. Experimental result is reported that proposed method can enhance performance up to 1,162% for graphics operations. The proposed method that uses parallel processing with GPU for spatial data can be generally used to enhance performance for applications which deal with large amount of spatial data.

키워드

참고문헌

  1. 오병우, 2008, "모바일 소프트웨어를 위한 효율적인 공간 인덱스", 한국GIS학회지, 16(1), pp.113-127.
  2. 윤근정.김혜영.전철민, 2008, "모바일 GIS를 위한 벡터 데이터 경량화 기법", 한국GIS학회지, 16(2), pp.207-218.
  3. AMD, 2009, ATI Stream Computing User Guide ver 1.4.0.
  4. Buck, I., T., Foley., D., Horn, J., Sugerman, K., Fatahalian., M., Houston, P., Hanrahan, 2004, "Brook for GPUs: Stream Computing on Graphics Hardware", In Proceedings of International Conference on Computer Graphics and Interactive Techniques SIGGRAPH 2004 Aug, pp.777-786.
  5. Bui, P., J., Brockman, 2009, "Performance Analysis of Accelerated Image Registration Using GPGPU", ACM International Conference Proceeding Series, 383, pp.38-45.
  6. Cederman, D., P., Tsigas, 2009, "GPU-Quicksort: A Practical Quicksort Algorithm for Graphics Processors", Journal of Experimental Algorithmics, 14, pp.1-24.
  7. Halfhill, T.R., 2008, Parallel Processing with CUDA, Microprocessor Report Volume 22.
  8. Lefohn, A., J., Kniss., J., Owens, 2005, "Implementing Efficient Parallel Data Structure on GPUs", GPU Gems2, Addison Wesley, pp.521-545.
  9. Jang, B., S., Do, H., Pien, D., Kaeli, 2009, "Architecture-aware Optimization Targeting Multithreaded Stream Computing", ACM International Conference Proceeding Series, 384, pp.62-70.
  10. Mark, W.R., R.S., Glanville, K., Akeley, M.J., Kilgard, 2003, "Cg: a System for Programming Graphics Hardware in a C-like Language", ACM SIGGRAPH, pp.896-907.
  11. Nickolls, J., I., Buck, M., Garland, K., Skadron, 2008, Scalable Parallel Programming with CUDA, ACM Queue.
  12. NVIDIA, 2009, CUDA Programming Guide ver 2.2.
  13. John, D.O., D., Luebke, N., Govindaraju, 2007, "A Servey of Gerneral-Purpose Computation on Graphics Hardware", Computer Graphics Forum, 26, pp.80-113. https://doi.org/10.1111/j.1467-8659.2007.01012.x
  14. Stratton, J.A., S.S., Sam, W.W., Hwu, 2008, "MCUDA: An Efficient Implementation of CUDA Kernels for Multicore CPUs", Languages and Compilers for Parallel Computing, pp.16-30.
  15. Molemaker, J., J.M., Cohen, S., Patel, J., Noh, 2008, "Low Viscosity Flow Simulations for Animation", SCA 2008, pp.9-18.
  16. Han, B., B., Zhou, 2006, "Efficient Video Decoding on GPUs by Point Based Rendering", ACM SIGGRAPH/EUROGRAPHICS Symposium on Graphics Hardware, pp.79-86.