DocumentCode
549571
Title
CuMAPz: A tool to analyze memory access patterns in CUDA
Author
Kim, Yooseong ; Shrivastava, Aviral
Author_Institution
Compiler & Microarchitecture Lab., Arizona State Univ., Tempe, AZ, USA
fYear
2011
fDate
5-9 June 2011
Firstpage
128
Lastpage
133
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.
Keywords
computer graphic equipment; coprocessors; parallel architectures; parallel programming; storage management; CUDA; CUDA programming model; CuMAPz; GPGPU; GPU; branch divergence; channel skew; data reuse; global memory access coalescing; graphics processing units; memory access patterns; memory behavior; memory effects; shared memory bank conflict; source code; Benchmark testing; Channel estimation; Correlation; Estimation; Graphics processing unit; Instruction sets; Kernel; Analytical Model; CUDA; GPGPU; Memory access pattern; Performance Estimation;
fLanguage
English
Publisher
ieee
Conference_Titel
Design Automation Conference (DAC), 2011 48th ACM/EDAC/IEEE
Conference_Location
New York, NY
ISSN
0738-100x
Print_ISBN
978-1-4503-0636-2
Type
conf
Filename
5981927
Link To Document