Department of Electronics Engineering, Suwon Science College, 288 Seja-ro, Jeongnam-myun, Hwaseong-si, Gyeonggi-do, Rep. of Korea
* Corresponding author

Article Main Content

Nowadays, GPU processors are widely used for general-purpose parallel computation applications. In the GPU programming, thread and block configuration is one of the most important decisions to be made, which increases parallelism and hides instruction latency. However, in many cases, it is often difficult to have sufficient parallelism to hide all the latencies, where the high latencies are often caused by the global memory accesses. In order to reduce the number of  those accesses, the shared memory is instead used which is  much faster than the global memory being located on a chip. The performance of the proposed thread configuration is evaluated on the GPU 960 processor. The experimental result shows that the best configuration improves the performance by 7.3 times compared to the worst configuration in the experiment. The experiences are also discussed for the shared memory performance when compared to that of the global memory.

References

  1. E. S. Larsen, D. McAllister, “Fast matrix multiplies using graphics hardware,” in Proceedings of Supercomputing 2001, Denver, CO, 2001.
     Google Scholar
  2. S. Mittal, and J. S. Vetter. “A survey of cpu-gpu heterogeneous computing techniques,” ACM Computing Survey, 47(4), pp.1–35, July 2015.
     Google Scholar
  3. J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A. E. Lefohn, and T. J. Purcell, “A survey of general-purpose computation on graphics hardware,” in Proceedings of European Association for Computer Graphics, pp. 21–51, 2005.
     Google Scholar
  4. J. D. Owens, D. Luebke, N. Govindaraju, M. Harris, J. Kruger, A. E. Lefohn, and T. J. Purcell, “A Survey of General-Purpose Computation on Graphics Hardware,” in Computer Graphics Forum, Volume 26, number 1, pp. 80-113, 2007
     Google Scholar
  5. NVIDA, https://www.nvidia.com/content/gpu-applications/PDF/gpu-applications-catalog.pdf
     Google Scholar
  6. NVIDIA, CUDA C Programming Guide 8.0, 2017.
     Google Scholar
  7. NVIDIA, CUDA C Best Practices Guide 8.0, 2017.
     Google Scholar
  8. A. Munshi, The OpenCL Specification, Khronos OpenCL Working Group, version: 1.0, Document Revision:48, 2009.
     Google Scholar
  9. D. Kirk, and W. W. Hwu, University of Illinois, “Programming Massively Parallel Processors,” Urbana-Champaign, 2010.
     Google Scholar
  10. NVIDIA, https://www.geforce.com/hardware/desktop-gpus/geforce-gtx-960/specifications
     Google Scholar
  11. NVIDIA, https://www.nvidia.com/en-us/geforce/ products/10series/titan-x-pascal/
     Google Scholar