DOI QR코드

DOI QR Code

Analysis of the GPGPU Performance for Various Combinations of Workloads Executed Concurrently

동시에 실행되는 워크로드 조합에 따른 GPGPU 성능 분석

  • 김동환 (서울대학교 컴퓨터공학부) ;
  • 엄현상 (서울대학교 컴퓨터공학부)
  • Received : 2016.10.07
  • Accepted : 2016.11.28
  • Published : 2017.03.15

Abstract

Many studies have utilized GPGPU (General-Purpose Graphic Processing Unit) and its high computing power to compute complex tasks. The characteristics of GPGPU programs necessitate the operations of memory copy between the host and device. A high latency period can affect the performance of the program. Thus, it is required to significantly improve the performance of GPGPU programs by optimizations. By executing multiple GPGPU programs simultaneously, the latency hiding effect of memory copy is achieved by overlapping the memory copy and computing operations in GPGPU. This paper presents the results of analyzing the latency hiding effect for memory copy operations. Furthermore, we propose a performance anticipation model and an algorithm for the limitations of using pinned memory, and show that the use of the proposed algorithm results in a 41% performance increase.

GPGPU의 높은 연산 처리 능력을 활용하여 길고 복잡한 계산을 하려는 시도가 많이 있다. GPGPU 프로그램의 특성상 host와 device 사이에 메모리 복사가 필요하다. 해당 메모리 복사 latency가 길 경우 프로그램의 성능에 많은 영향을 준다. 그래서 GPGPU를 활용한 프로그래밍은 최적화에 따른 성능 차이가 크다. 여러 개의 GPGPU 프로그램을 동시에 실행시키면 메모리 복사와 GPGPU 컴퓨팅이 중첩이 되어 메모리 복사 latency hiding 효과를 기대할 수 있다. 이 논문에서는 메모리 복사 latency hiding을 분석한다. 또 메모리 복사의 성능을 높이기 위해 pinned memory를 사용했을 경우의 제약 조건에 따른 성능 예측 모델링 및 알고리즘을 제안하고 이를 바탕으로 실행할 워크로드를 선택하면 41%의 성능 향상을 보인다.

Keywords

Acknowledgement

Supported by : 한국연구재단, 정보통신기술진흥센터, 서울대학교

References

  1. CHE, S., BOYER, M., MENG, J., TARJAN, D., SHEAFFER, J. W., LEE, S.-H., AND SKADRON, K., "Rodinia: A benchmark suite for heterogeneous computing," IISWC, pp. 44-54. 2009.
  2. NVIDIA. Compute unified device architecture programming guide.
  3. Khronos. OpenCL. [Online]. Available: http://www.khronos.org.
  4. OpenMP. [Online]. Available: http://openmp.org/
  5. NVIDIA. CUDA Toolkit Documentation. [Online]. Available: http://docs.nvidia.com/cuda/profiler-users-guide, 2015.
  6. NVIDIA, How to Optimize Data Transfers in CUDA C/C++.https://devblogs.nvidia.com/parallelforall/how -optimize-data-transfers-cuda-cc
  7. Belviranli, Mehmet E., et al., "CuMAS: Data Transfer Aware Multi-Application Scheduling for Shared GPUs," Proc. of the 2016 International Conference on Supercomputing, ACM, 2016.