Addressing GPU On-Chip Shared Memory Bank Conflicts Using Elastic Pipeline

Chunyang Gou*, Georgi N. Gaydadjiev

*Corresponding author for this work

Research output: Contribution to journalArticleAcademicpeer-review

9 Citations (Scopus)
20 Downloads (Pure)

Abstract

One of the major problems with the GPU on-chip shared memory is bank conflicts. We analyze that the throughput of the GPU processor core is often constrained neither by the shared memory bandwidth, nor by the shared memory latency (as long as it stays constant), but is rather due to the varied latencies caused by memory bank conflicts. This results in conflicts at the writeback stage of the in-order pipeline and causes pipeline stalls, thus degrading system throughput. Based on this observation, we investigate and propose a novel Elastic Pipeline design that minimizes the negative impact of on-chip memory bank conflicts on system throughput, by decoupling bank conflicts from pipeline stalls. Simulation results show that our proposed Elastic Pipeline together with the co-designed bank-conflict aware warp scheduling reduces the pipeline stalls by up to 64.0 % (with 42.3 % on average) and improves the overall performance by up to 20.7 % (on average 13.3 %) for representative benchmarks, at trivial hardware overhead.

Original languageEnglish
Pages (from-to)400-429
Number of pages30
JournalInternational journal of parallel programming
Volume41
Issue number3
DOIs
Publication statusPublished - Jun-2013
Externally publishedYes

Keywords

  • GPU
  • On-chip shared memory
  • Bank conflicts
  • Elastic pipeline
  • VECTOR
  • ACCESSES
  • SYSTEMS
  • MODEL

Cite this