Skip to main navigation Skip to search Skip to main content

Configurable XOR hash functions for banked scratchpad memories in GPUs

  • G.J. van den Braak
  • , J. Gómez-Luna
  • , J.M. González-Linares
  • , H. Corporaal
  • , N. Guil

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

Scratchpad memories in GPU architectures are employed as software-controlled caches to increase the effective GPU memory bandwidth. Through the use of well-known optimization techniques, such as privatization and tiling, they are properly exploited. Typically, they are banked memories which are addressed with a mod (2N) bank indexing scheme. Although their bandwidth is fully exploited for linear memory accesses, their performance is burdened when non-unit strides appear in memory access patterns because they provoke bank conflicts. This paper explores the use of configurable bit-vector and bitwise XOR-based hash functions to evenly distribute memory addresses of the access patterns over the memory banks, reducing the number of bank conflicts. An exhaustive, but lightweight, search is used to configure bit-vector hash functions. Bitwise hash functions are configured with heuristics. Hardware and software implementations are carried out. For the hardware approach, the experimental results show 24 percent performance speed-up for 22 benchmarks on GPGPU-Sim, a Fermi-like simulator. Bank conflicts are reduced by 96 percent with bit-vector hash functions, and 97 percent with bitwise hash functions using our proposed Minimum Imbalance Heuristic. The software approach, using bit-vector hash functions, demonstrates 23 percent speed-up and 96 percent bank conflict reduction on a Fermi GPU, and 33 percent speed-up and 99 percent bank conflict reduction on a Kepler GPU.

Original languageEnglish
Article number7271051
Pages (from-to)2045-2058
Number of pages14
JournalIEEE Transactions on Computers
Volume65
Issue number7
DOIs
Publication statusPublished - 1 Jul 2016

Keywords

  • Computer architecture
  • graphics processing units
  • memory architecture

Fingerprint

Dive into the research topics of 'Configurable XOR hash functions for banked scratchpad memories in GPUs'. Together they form a unique fingerprint.

Cite this