Analysis on Memory Characteristics of Graphics Processing Units for Designing Memory System of General-Purpose Computing on Graphics Processing Units

범용 그래픽 처리 장치의 메모리 설계를 위한 그래픽 처리 장치의 메모리 특성 분석

  • 최홍준 (전남대학교 전자컴퓨터공학부) ;
  • 김철홍 (전남대학교 전자컴퓨터공학부)
  • Received : 2014.03.04
  • Accepted : 2014.03.31
  • Published : 2014.03.31

Abstract

Even though the performance of microprocessor is improved continuously, the performance improvement of computing system becomes hard to increase, in order to some drawbacks including increased power consumption. To solve the problem, general-purpose computing on graphics processing units(GPGPUs), which execute general-purpose applications by using specialized parallel-processing device representing graphics processing units(GPUs), have been focused. However, the characteristics of applications related with graphics is substantially different from the characteristics of general-purpose applications. Therefore, GPUs cannot exploit the outstanding computational resources sufficiently due to various constraints, when they execute general-purpose applications. When designing GPUs for GPGPU, memory system is important to effectively exploit the GPUs since typically general-purpose applications requires more memory accesses than graphics applications. Especially, external memory access requiring long latency impose a big overhead on the performance of GPUs. Therefore, the GPU performance must be improved if hierarchical memory architecture which can reduce the number of external memory access is applied. For this reason, we will investigate the analysis of GPU performance according to hierarchical cache architectures in executing various benchmarks.

소비전력 증가와 같은 문제점들로 인하여, 마이크로프로세서만으로는 컴퓨팅 시스템의 성능을 향상시키기 점점 어려워지고 있다. 이와 같은 상황에서, 대용량 병렬 연산에 특화된 그래픽 처리 장치를 활용하여 중앙 처리 장치가 담당하던 범용 작업을 수행하게 하는 범용 그래픽 처리 장치 기술이 컴퓨터 시스템의 성능을 개선시킬 수 있는 방안으로 주목을 받고 있다. 하지만, 그래픽스 관련 응용프로그램과 범용 응용프로그램의 특징은 매우 상이하기 때문에, 그래픽 처리 장치가 범용 응용프로그램을 수행하는 경우에는 많은 제약 사항으로 인하여 자신의 뛰어난 연산 자원을 활용하지 못하는 실정이다. 일반적으로 그래픽스 관련 응용프로그램에 비해 범용 응용프로그램은 메모리를 매우 많이 요청하기 때문에 범용 그래픽 처리 장치 기술을 효율적으로 활용하기 위해서는 메모리 설계가 매우 중요하다. 특히, 긴 접근 시간을 요구하는 외부 메모리 요청은 성능에 큰 오버헤드이다. 그러므로 외부 메모리로의 접근 횟수를 줄일 수 있는 다중 레벨 캐쉬 구조를 효율적으로 활용할 수 있다면, GPU의 성능은 크게 향상 될 것이 분명하다. 본 논문에서는 다중 레벨 캐쉬 구조에 따른 그래픽 처리 장치의 성능을 다양한 벤치마크 프로그램을 통하여 정량적으로 분석하고자 한다.

Keywords

Acknowledgement

Supported by : 정보통신산업진흥원

References

  1. F. Warg, J. Nilsson and M. Ekman, "An in-depth look at computer performance growth," Workshop on architectural support for security and anti-virus, pp. 144- 147, 2005.
  2. V. W. Lee, C. K. Kim, J. Chhugani, M. Deisher, D. H. Kim, A. D. Nguyen, N. Satish, M. Smelyanskiy, S. Chennupaty, P. Hammarlund, R. Singhal and P. Dubey, "Debunking the 100X GPU vs. CPU Myth: An Evaluation of Throughput Computing on CPU and GPU," International Symposium on Computer Architecture, pp. 451-460, 2010.
  3. General-purpose computation on graphics hardware, available at http://gpgpu.org.
  4. J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A. E. Lefohn and T. Purcell, "A survey of general-purpose computation on graphics hardware," Computer Graphics Forum, Vol. 26, No. 1, pp. 80-113, 2007. https://doi.org/10.1111/j.1467-8659.2007.01012.x
  5. AMD, AMD Accelerated Parallel Processing OpenCL Programming Guide, 2012.
  6. NVIDIA, NVIDIA's Next Generation CUDA Compute Architecture: Fermi, 2009.
  7. P. Conway and B. Hughes, "The AMD Opteron Northbridge Architecture," IEEE Micro, Vol. 27, No. 2, pp. 10-21, 2007. https://doi.org/10.1109/MM.2007.43
  8. P. Kongetira, K. Aingaran, and K. Olukotun, "Niagara: A 32-Way Multithreaded Sparc Processor," IEEE Micro, Vol. 25, No. 2, pp. 21-29, 2005. https://doi.org/10.1109/MM.2005.35
  9. S. Rusu, T. Simon, H. Muljono, J. Stinson, D. Ayers, J. Chang, R. Varada, M. Ratta, S. Kottapalli, and S. Vora, "A 45 nm 8-Core Enterprise Xeon Processor," Journal of Solid-State Circuits, Vol. 45, No.1, pp. 7-14, 2010. https://doi.org/10.1109/JSSC.2009.2034076
  10. NVIDA Co. Ltd., available at http://www.nvidia.com/
  11. QuadroFX5800, available at http://www.nvidia.com/object/product_quadro_fx_5800_us.html
  12. H. J. Choi and C. H. Kim, "Performance Evaluation of the GPU Architecture Executing Parallel Applications," Journal of the Korea Contents Association, Vol.12, No.5. pp. 10-21, 2012.
  13. H. J. Choi and C. H. Kim, "Analysis of Impact of Correlation Between Hardware Configuration and Branch Handling Methods Executing General Purpose Applications," Journal of the Korea Contents Association, Vol.13, No.3. pp. 9-21, 2013.
  14. W. W. L. Fung and T. M. Aamodt, "Thread Block Compaction for Efficient SIMT Control Flow," In Proceedings of the 17th International Symposium on High Performance Computer Architecture, pp. 25-36, 2011.
  15. A Bakhoda, G. L. Yuan, W. W. L. Fung, H. Wong, and T. M. Aamodt, "Analyzing CUDA Workloads Using a Detailed GPU Simulator," In Proceedings of 9th International Symposium on Performance Analysis of Systems and Software, pp.163-174, 2009.
  16. Booksim simulator, available at http://nocs.stanford.edu/booksim.html
  17. CUDA SDK, available at http://developer.download.nvidia.coml compute/cuda/sdk/website/samples.html