• DocumentCode
    157823
  • Title

    GPUdmm: A high-performance and memory-oblivious GPU architecture using dynamic memory management

  • Author

    Youngsok Kim ; Jaewon Lee ; Jae-Eon Jo ; Jangwoo Kim

  • Author_Institution
    Dept. of Comput. Sci. & Eng., POSTECH, Pohang, South Korea
  • fYear
    2014
  • fDate
    15-19 Feb. 2014
  • Firstpage
    546
  • Lastpage
    557
  • Abstract
    GPU programmers suffer from programmer-managed GPU memory because both performance and programmability heavily depend on GPU memory allocation and CPU-GPU data transfer mechanisms. To improve performance and programmability, programmers should be able to place only the data frequently accessed by GPU on GPU memory while overlapping CPU-GPU data transfers and GPU executions as much as possible. However, current GPU architectures and programming models blindly place entire data on GPU memory, requiring a significantly large GPU memory size. Otherwise, they must trigger unnecessary CPU-GPU data transfers due to an insufficient GPU memory size. In this paper, we propose GPUdmm, a novel GPU architecture to enable high-performance and memory-oblivious GPU programming. First, GPUdmm uses GPU memory as a cache of CPU memory to provide programmers a view of the CPU memory-sized programming space. Second, GPUdmm achieves high performance by exploiting data locality and dynamically transferring data between CPU and GPU memories while effectively overlapping CPU-GPU data transfers and GPU executions. Third, GPUdmm can further reduce unnecessary CPU-GPU data transfers by exploiting simple programmer hints. Our carefully designed and validated experiments (e.g., PCIe/DMA timing) against representative benchmarks show that GPUdmm can achieve up to five times higher performance for the same GPU memory size, or reduce the GPU memory size requirement by up to 75% while maintaining the same performance.
  • Keywords
    cache storage; graphics processing units; parallel programming; CPU memory-sized programming space; CPU-GPU data transfer overlaps; GPU memory size requirement; GPU programming; GPUdmm; cache; data locality; dynamic memory management; high-performance GPU architecture; memory-oblivious GPU architecture; Data models; Data transfer; Graphics processing units; Kernel; Memory management; Programming;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computer Architecture (HPCA), 2014 IEEE 20th International Symposium on
  • Conference_Location
    Orlando, FL
  • Type

    conf

  • DOI
    10.1109/HPCA.2014.6835963
  • Filename
    6835963