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
相关论文
共 50 条
  • [1] Optimizing non-coalesced memory access for irregular applications with GPU computing
    Ran Zheng
    Yuan-dong Liu
    Hai Jin
    Frontiers of Information Technology & Electronic Engineering, 2020, 21 : 1285 - 1301
  • [2] Optimizing non-coalesced memory access for irregular applications with GPU computing
    Zheng, Ran
    Liu, Yuan-dong
    Jin, Hai
    FRONTIERS OF INFORMATION TECHNOLOGY & ELECTRONIC ENGINEERING, 2020, 21 (09) : 1285 - 1301
  • [3] Analyzing and Improving Memory Access Patterns of Large Irregular Applications on NUMA Machines
    Mariano, Artur
    Diener, Matthias
    Bischof, Christian
    Navaux, Philippe O. A.
    2016 24TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP), 2016, : 382 - 387
  • [4] Impact of GPU Memory Access Patterns on FDTD
    Livesey, Matthew
    Stack, James F., Jr.
    Costen, Fumie
    Nanri, Takeshi
    Nakashima, Norimasa
    Fujino, Seiji
    2012 IEEE ANTENNAS AND PROPAGATION SOCIETY INTERNATIONAL SYMPOSIUM (APSURSI), 2012,
  • [5] Efficient Memory Access Patterns for Solving 3D Laplace Equation on GPU
    Akhtar, Muhammad Naveed
    Durad, Muhammad Hanif
    Usman, Anila
    Mughal, Muhammad Abid
    IRANIAN JOURNAL OF SCIENCE AND TECHNOLOGY TRANSACTION A-SCIENCE, 2018, 42 (A2): : 623 - 633
  • [6] Efficient Memory Access Patterns for Solving 3D Laplace Equation on GPU
    Muhammad Naveed Akhtar
    Muhammad Hanif Durad
    Anila Usman
    Muhammad Abid Mughal
    Iranian Journal of Science and Technology, Transactions A: Science, 2018, 42 : 623 - 633
  • [7] Automated and accurate cache behavior analysis for codes with irregular access patterns
    Andrade, Diego
    Arenaz, Manuel
    Fraguela, Basilio B.
    Tourino, Juan
    Doallo, Ramon
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2007, 19 (18): : 2407 - 2423
  • [8] DyCache: Dynamic Multi-Grain Cache Management for Irregular Memory Accesses on GPU
    Guo, Hui
    Huang, Libo
    Lu, Yashuai
    Ma, Sheng
    Wang, Zhiying
    IEEE ACCESS, 2018, 6 : 38881 - 38891
  • [9] Exploring Efficient Hardware Support for Applications with Irregular Memory Patterns on Multinode Manycore Architectures
    Ceriani, Marco
    Secchi, Simone
    Villa, Oreste
    Tumeo, Antonino
    Palermo, Gianluca
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2017, 28 (06) : 1635 - 1648
  • [10] Area and power efficient pattern prediction architecture for filter cache access prediction in the instruction memory hierarchy
    Bhattacharyya, S
    Srikanthan, T
    Vivekanandarajah, K
    2005 IEEE VLSI-TSA INTERNATIONAL SYMPOSIUM ON VLSI DESIGN, AUTOMATION & TEST (VLSI-TSA-DAT), PROCEEDINGS OF TECHNICAL PAPERS, 2005, : 345 - 348