An Efficient GPU Cache Architecture for Applications with Irregular Memory Access Patterns

被引:10
作者
Li, Bingchao [1 ]
Wei, Jizeng [2 ]
Sun, Jizhou [2 ]
Annavaram, Murali [3 ]
Kim, Nam Sung [4 ,5 ]
机构
[1] Civil Aviat Univ China, Sch Comp Sci & Technol, 2898 Jinbei Rd, Tianjin 300300, Peoples R China
[2] Tianjin Univ, Coll Intelligence & Comp, 135 Yaguan Rd,Haihe Educ Pk, Tianjin 300350, Peoples R China
[3] Univ Southern Calif, Dept Elect & Comp Engn, Hughes Aircraft Elect Engn Ctr, 3740 McClintock Ave, Los Angeles, CA 90089 USA
[4] Univ Illinois, Urbana, IL USA
[5] Coordinated Sci Lab, Dept Elect & Comp Engn, 1308 West Main St, Urbana, IL 61801 USA
基金
中国国家自然科学基金; 美国国家科学基金会;
关键词
GPU; cache; shared memory; thread;
D O I
10.1145/3322127
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
GPUs provide high-bandwidth/low-latency on-chip shared memory and L1 cache to efficiently service a large number of concurrent memory requests. Specifically, concurrent memory requests accessing contiguous memory space are coalesced into warp-wide accesses. To support such large accesses to L1 cache with low latency, the size of L1 cache line is no smaller than that of warp-wide accesses. However, such L1 cache architecture cannot always be efficiently utilized when applications generate many memory requests with irregular access patterns especially due to branch and memory divergences that make requests uncoalesced and small. Furthermore, unlike L1 cache, the shared memory of GPUs is not often used in many applications, which essentially depends on programmers. In this article, we propose Elastic-Cache, which can efficiently support both fine- and coarse-grained L1 cache line management for applications with both regular and irregular memory access patterns to improve the L1 cache efficiency. Specifically, it can store 32- or 64-byte words in non-contiguous memory space to a single 128-byte cache line. Furthermore, it neither requires an extra memory structure nor reduces the capacity of L1 cache for tag storage, since it stores auxiliary tags for fine-grained L1 cache line managements in the shared memory space that is not fully used in many applications. To improve the bandwidth utilization of L1 cache with Elastic-Cache for fine-grained accesses, we further propose Elastic-Plus to issue 32-byte memory requests in parallel, which can reduce the processing latency of memory instructions and improve the throughput of GPUs. Our experiment result shows that Elastic-Cache improves the geometric-mean performance of applications with irregular memory access patterns by 104% without degrading the performance of applications with regular memory access patterns. Elastic-Plus outperforms Elastic-Cache and improves the performance of applications with irregular memory access patterns by 131%.
引用
收藏
页码:1 / 24
页数:24
相关论文
共 38 条
[1]  
[Anonymous], 2015, NVIDIA CUDA C Programming Guide
[2]  
Bakhoda A, 2009, INT SYM PERFORM ANAL, P163, DOI 10.1109/ISPASS.2009.4919648
[3]  
Balasubramonian Rajeev, 2009, TECHNICAL REPORT
[4]  
Burtscher M., 2012, 2012 IEEE International Symposium on Workload Characterization (IISWC 2012), P141, DOI 10.1109/IISWC.2012.6402918
[5]  
Chang J, 2009, SYMP VLSI CIRCUITS, P152
[6]   Managing DRAM Latency Divergence in Irregular GPGPU Applications [J].
Chatterjee, Niladrish ;
O'Connor, Mike ;
Loh, Gabriel H. ;
Jayasena, Nuwan ;
Balasubramonian, Rajeev .
SC14: INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2014, :128-139
[7]  
Che S, 2013, I S WORKL CHAR PROC, P185, DOI 10.1109/IISWC.2013.6704684
[8]   Adaptive Cache Management for Energy-efficient GPU Computing [J].
Chen, Xuhao ;
Chang, Li-Wen ;
Rodrigues, Christopher I. ;
Lv, Jie ;
Wang, Zhiying ;
Hwu, Wen-Mei .
2014 47TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO), 2014, :343-355
[9]   A Closer Look at GPUs [J].
Fatahalian, Kayvon ;
Houston, Mike .
COMMUNICATIONS OF THE ACM, 2008, 51 (10) :50-57
[10]   Unifying Primary Cache, Scratch, and Register File Memories in a Throughput Processor [J].
Gebhart, Mark ;
Keckler, Stephen W. ;
Khailany, Brucek ;
Krashinsky, Ronny ;
Dally, William J. .
2012 IEEE/ACM 45TH INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-45), 2012, :96-106