CuMAPz: A tool to analyze memory access patterns in CUDA

Yooseong Kim, Aviral Shrivastava

Research output: Chapter in Book/Report/Conference proceedingConference contribution

35 Scopus citations

Abstract

CUDA programming model provides a simple interface to program on GPUs, but tuning GPGPU applications for high performance is still quite challenging. Programmers need to consider several architectural details, and small changes in source code, especially on memory access pattern, affect performance significantly. This paper presents CuMAPz, a tool to compare the memory performance of a CUDA program. CuMAPz can help programmers explore different ways of using shared and global memories, and optimize their program for memory behavior. CuMAPz models several memory effects, e.g., data reuse, global memory access coalescing, shared memory bank conflict, channel skew, and branch divergence. By using CuMAPz to explore memory access design space, we could improve the performance of our benchmarks by 62% over the naive cases, and 32% over previous approach[8].

Original languageEnglish (US)
Title of host publication2011 48th ACM/EDAC/IEEE Design Automation Conference, DAC 2011
Pages128-133
Number of pages6
StatePublished - Sep 16 2011
Event2011 48th ACM/EDAC/IEEE Design Automation Conference, DAC 2011 - San Diego, CA, United States
Duration: Jun 5 2011Jun 9 2011

Publication series

NameProceedings - Design Automation Conference
ISSN (Print)0738-100X

Other

Other2011 48th ACM/EDAC/IEEE Design Automation Conference, DAC 2011
CountryUnited States
CitySan Diego, CA
Period6/5/116/9/11

Keywords

  • Analytical Model
  • CUDA
  • GPGPU
  • Memory access pattern
  • Performance Estimation

ASJC Scopus subject areas

  • Computer Science Applications
  • Control and Systems Engineering
  • Electrical and Electronic Engineering
  • Modeling and Simulation

Fingerprint Dive into the research topics of 'CuMAPz: A tool to analyze memory access patterns in CUDA'. Together they form a unique fingerprint.

Cite this