• DocumentCode
    3588958
  • Title

    Random Address Permute-Shift Technique for the Shared Memory on GPUs

  • Author

    Nakano, Koji ; Matsumae, Susumu ; Ito, Yasuaki

  • Author_Institution
    Dept. of Inf. Eng., Hiroshima Univ., Higashi-Hiroshima, Japan
  • fYear
    2014
  • Firstpage
    429
  • Lastpage
    438
  • Abstract
    The Discrete Memory Machine (DMM) is a theoretical parallel computing model that captures the essence of memory access to the shared memory of a streaming multiprocessor on CUDA-enabled GPUs. The DMM has w memory banks that constitute a shared memory, and w threads in a warp try to access them at the same time. However, memory access requests destined for the same memory bank are processed sequentially. Hence, it is very important for developing efficient algorithms to reduce the memory access congestion, the maximum number of memory access requests destined for the same bank. The main contribution of this paper is to present a novel algorithmic technique called the random address permute-shift (RAP) technique that reduces the memory access congestion. We show that the RAP reduces the memory access congestion to O̅(log w/log log w) for any memory access requests including malicious ones by a warp of w threads. Also, we can guarantee that the congestion is 1 both for contiguous access and for stride access. The simulation results for w=32 show that the expected congestion for any memory access is only 3.53. Since the malicious memory access requests destined for the same bank take congestion 32, our RAP technique substantially reduces the memory access congestion. We have also applied the RAP technique to matrix transpose algorithms. The experimental results on GeForce GTX TITAN show that the RAP technique is practical and can accelerate a direct matrix transpose algorithm by a factor of 10.
  • Keywords
    graphics processing units; parallel architectures; shared memory systems; CUDA-enabled GPU; DMM; GeForce GTX TITAN show; RAP technique; algorithmic technique; direct matrix transpose algorithm; discrete memory machine; memory access congestion; memory access request; memory bank; parallel computing model; random address permute-shift technique; shared memory; streaming multiprocessor; Algorithm design and analysis; Graphics processing units; Instruction sets; Memory management; Pipelines; Writing; CUDA; GPU; memory access congestion; memory bank conflicts; randomized technique;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing Workshops (ICCPW), 2014 43rd International Conference on
  • ISSN
    1530-2016
  • Type

    conf

  • DOI
    10.1109/ICPPW.2014.63
  • Filename
    7103481