Demo Data from EDBT 2026 / reviewers in the wild / expert
Chao Li 0004
dblp:66/190-4
· DBLP profile ↗
9ranked-venue papers
4as first author
0since 2021 · last 2018
0000-0001-7758-0865ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 7 · 3 first-authorSoftware engineering, systems software and programming languages · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
GPUs and heterogeneous computing · 38% High-performance computing · 25% Memory systems · 24% |
Topics — the 9 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing › GPU scheduling
concurrent kernel execution |
0.3 | 1 | 2018 | Accelerate GPU Concurrent Kernel Execution by Mitigating Memory Pipeline Stalls · HPCA 2018 |
Memory systems
memory stall |
0.3 | 1 | 2018 | Accelerate GPU Concurrent Kernel Execution by Mitigating Memory Pipeline Stalls · HPCA 2018 |
Memory systems › cache management › cache insertion policy
cache bypassing |
0.2 | 1 | 2016 | A model-driven approach to warp/thread-block level GPU cache bypassing · DAC 2016 |
Performance modeling and evaluation › cache performance modeling
cache contention modeling |
0.2 | 1 | 2016 | A model-driven approach to warp/thread-block level GPU cache bypassing · DAC 2016 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.2 | 1 | 2016 | A model-driven approach to warp/thread-block level GPU cache bypassing · DAC 2016 |
High-performance computing
sparse linear algebra |
0.2 | 1 | 2014 | yaSpMV: yet another SpMV framework on GPUs · PPoPP 2014 |
High-performance computing › sparse linear algebra
sparse matrix storage format |
0.2 | 1 | 2014 | yaSpMV: yet another SpMV framework on GPUs · PPoPP 2014 |
High-performance computing › sparse linear algebra › sparse matrix computation
SpMV |
0.2 | 1 | 2014 | yaSpMV: yet another SpMV framework on GPUs · PPoPP 2014 |
High-performance computing › performance optimization
auto-tuning |
0.1 | 1 | 2014 | yaSpMV: yet another SpMV framework on GPUs · PPoPP 2014 |
Methods — techniques the papers use, named apart from their topics
memory access balancing · 0.3inflight memory instruction limiting · 0.3cache partitioning · 0.3performance modeling · 0.2memory access optimization · 0.2data layout transformation · 0.2segmented scan · 0.2auto-tuning · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Accelerate GPU Concurrent Kernel Execution by Mitigating Memory Pipeline StallsabstractFollowing the advances in technology scaling, graphics processing units (GPUs) incorporate an increasing amount of computing resources and it becomes difficult for a single GPU kernel to fully utilize the vast GPU resources. One solution to improve resource utilization is concurrent kernel execution (CKE). Early CKE mainly targets the leftover resources. However, it fails to optimize the resource utilization and does not provide fairness among concurrent kernels. Spatial multitasking assigns a subset of streaming multiprocessors (SMs) to each kernel. Although achieving better fairness, the resource underutilization within an SM is not addressed. Thus, intra-SM sharing has been proposed to issue thread blocks from different kernels to each SM. However, as shown in this study, the overall performance may be undermined in the intra-SM sharing schemes due to the severe interference among kernels. Specifically, as concurrent kernels share the memory subsystem, one kernel, even as computing-intensive, may starve from not being able to issue memory instructions in time. Besides, severe L1 D-cache thrashing and memory pipeline stalls caused by one kernel, especially a memory-intensive one, will impact other kernels, further hurting the overall performance. In this study, we investigate various approaches to overcome the aforementioned problems exposed in intra-SM sharing. We first highlight that cache partitioning techniques proposed for CPUs are not effective for GPUs. Then we propose two approaches to reduce memory pipeline stalls. The first is to balance memory accesses of concurrent kernels. The second is to limit the number of inflight memory instructions issued from individual kernels. Our evaluation shows that the proposed schemes significantly improve the weighted speedup of two state-of-the-art intra-SM sharing schemes, Warped-Slicer and SMK, by 24.6% and 27.2% on average, respectively, with lightweight hardware overhead. Hongwen Dai, Chao Li 0004, Chen Zhao 0009, Fei Wang 0008, Nanning Zheng 0001, Huiyang Zhou |
HPCA | 3 |
| 2017 | POSTER: Accelerate GPU Concurrent Kernel Execution by Mitigating Memory Pipeline StallsabstractIn this study, we demonstrate that the performance may be undermined in the state-of-the-art intra-SM sharing schemes for concurrent kernel execution (CKE) on GPUs, due to the interference among concurrent kernels. We highlight that cache partitioning techniques proposed for CPUs are not effective for GPUs. Then we propose to balance memory accesses and limit the number of inflight memory instructions issued from concurrent kernels to reduce memory pipeline stalls. Our proposed schemes significantly improve the performance of two state-of-the-art intra-SM sharing schemes, Warped-Slicer and SMK. Hongwen Dai, Chao Li 0004, Chen Zhao 0009, Fei Wang 0008, Nanning Zheng 0001, Huiyang Zhou |
PACT | 3 |
| 2016 | A model-driven approach to warp/thread-block level GPU cache bypassingabstractThe high amount of memory requests from massive threads may easily cause cache contention and cache-miss-related resource congestion on GPUs. This paper proposes a simple yet effective performance model to estimate the impact of cache contention and resource congestion as a function of the number of warps/thread blocks (TBs) to bypass the cache. Then we design a hardware-based dynamic warp/thread-block level GPU cache bypassing scheme, which achieves 1.68x speedup on average on a set of memory-intensive benchmarks over the baseline. Compared to prior works, our scheme achieves 21.6% performance improvement over SWL-best [29] and 11.9% over CBWT-best [4] on average. Hongwen Dai, Chao Li 0004, Huiyang Zhou, Saurabh Gupta 0002, Christos Kartsaklis, Mike Mantor |
DAC | 2 |
| 2016 | Optimizing memory efficiency for deep convolutional neural networks on GPUsabstractLeveraging large data sets, deep Convolutional Neural Networks (CNNs) achieve state-of-the-art recognition accuracy. Due to the substantial compute and memory operations, however, they require significant execution time. The massive parallel computing capability of GPUs make them as one of the ideal platforms to accelerate CNNs and a number of GPU-based CNN libraries have been developed. While existing works mainly focus on the computational efficiency of CNNs, the memory efficiency of CNNs have been largely overlooked. Yet CNNs have intricate data structures and their memory behavior can have significant impact on the performance. In this work, we study the memory efficiency of various CNN layers and reveal the performance implication from both data layouts and memory access patterns. Experiments show the universal effect of our proposed optimizations on both single layers and various networks, with up to 27.9× for a single layer and up to 5.6× on the whole networks. Chao Li 0004, Yi Yang 0018, Min Feng 0001, Srimat T. Chakradhar, Huiyang Zhou |
SC | 1 |
| 2015 | Automatic data placement into GPU on-chip memory resourcesabstractAlthough graphics processing units (GPUs) rely on thread-level parallelism to hide long off-chip memory access latency, judicious utilization of on-chip memory resources, including register files, shared memory, and data caches, is critical to application performance. However, explicitly managing GPU on-chip memory resources is a non-trivial task for application developers. More importantly, as on-chip memory resources vary among different GPU generations, performance portability has become a daunting challenge. In this paper, we tackle this problem with compiler-driven automatic data placement. We focus on programs that have already been reasonably optimized either manually by programmers or automatically by compiler tools. Our proposed compiler algorithms refine these programs by revising data placement across different types of GPU on-chip resources to achieve both performance enhancement and performance portability. Among 12 benchmarks in our study, our proposed compiler algorithm improves the performance by 1.76× on average on Nvidia GTX480, and by 1.61× on average on GTX680. Chao Li 0004, Yi Yang 0018, Huiyang Zhou |
CGO | 1 |
| 2015 | Locality-Driven Dynamic GPU Cache BypassingabstractThis paper presents novel cache optimizations for massively parallel, throughput-oriented architectures like GPUs. L1 data caches (L1 D-caches) are critical resources for providing high-bandwidth and low-latency data accesses. However, the high number of simultaneous requests from single-instruction multiple-thread (SIMT) cores makes the limited capacity of L1 D-caches a performance and energy bottleneck, especially for memory-intensive applications. We observe that the memory access streams to L1 D-caches for many applications contain a significant amount of requests with low reuse, which greatly reduce the cache efficacy. Existing GPU cache management schemes are either based on conditional/reactive solutions or hit-rate based designs specifically developed for CPU last level caches, which can limit overall performance. Chao Li 0004, Shuaiwen Song, Hongwen Dai, Albert Sidelnik, Siva Kumar Sastry Hari, Huiyang Zhou |
ICS | 1 |
| 2015 | CUDA-NP: Realizing Nested Thread-Level Parallelism in GPGPU Applications
Yi Yang 0018, Chao Li 0004, Huiyang Zhou |
J. Comput. Sci. Technol. | 2 |
| 2014 | Understanding the tradeoffs between software-managed vs. hardware-managed caches in GPUsabstractOn-chip caches are commonly used in computer systems to hide long off-chip memory access latencies. To manage on-chip caches, either software-managed or hardware-managed schemes can be employed. State-of-art accelerators, such as the NVIDIA Fermi or Kepler GPUs and Intel's forthcoming MIC “Knights Landing” (KNL), support both software-managed caches, aka. shared memory (GPUs) or near memory (KNL), and hardware-managed L1 data caches (D-caches). Furthermore, shared memory and the L1 D-cache on a GPU utilize the same physical storage and their capacity can be configured at runtime (same for KNL). In this paper, we present an in-depth study to reveal interesting and sometimes unexpected tradeoffs between shared memory and the hardware-managed L1 D- caches in GPU architecture. In our study, the kernels utilizing the L1 D-caches are generated from those leveraging shared memory to ensure that the same optimizations such as tiling are applied equally in both versions. Our detailed analyses reveal that rather than cache hit rates, the following tradeoffs often have more profound performance impacts. On one hand, the kernels utilizing the L1 caches may support higher degrees of thread-level parallelism, offer more opportunities for data to be allocated in registers, and sometimes result in lower dynamic instruction counts. On the other hand, the applications utilizing shared memory enable more coalesced accesses and tend to achieve higher degrees of memory-level parallelism. Overall, our results show that most benchmarks perform significantly better with shared memory than the L1 D-caches due to the high impact of memory-level parallelism and memory coalescing. Chao Li 0004, Yi Yang 0018, Hongwen Dai, Shengen Yan, Frank Mueller 0001, Huiyang Zhou |
ISPASS | 1 |
| 2014 | yaSpMV: yet another SpMV framework on GPUsabstractSpMV is a key linear algebra algorithm and has been widely used in many important application domains. As a result, numerous attempts have been made to optimize SpMV on GPUs to leverage their massive computational throughput. Although the previous work has shown impressive progress, load imbalance and high memory bandwidth remain the critical performance bottlenecks for SpMV. In this paper, we present our novel solutions to these problems. First, we devise a new SpMV format, called blocked compressed common coordinate (BCCOO), which uses bit flags to store the row indices in a blocked common coordinate (COO) format so as to alleviate the bandwidth problem. We further improve this format by partitioning the matrix into vertical slices to enhance the cache hit rates when accessing the vector to be multiplied. Second, we revisit the segmented scan approach for SpMV to address the load imbalance problem. We propose a highly efficient matrix-based segmented sum/scan for SpMV and further improve it by eliminating global synchronization. Then, we introduce an auto-tuning framework to choose optimization parameters based on the characteristics of input sparse matrices and target hardware platforms. Our experimental results on GTX680 GPUs and GTX480 GPUs show that our proposed framework achieves significant performance improvement over the vendor tuned CUSPARSE V5.0 (up to 229% and 65% on average on GTX680 GPUs, up to 150% and 42% on average on GTX480 GPUs) and some most recently proposed schemes (e.g., up to 195% and 70% on average over clSpMV on GTX680 GPUs, up to 162% and 40% on average over clSpMV on GTX480 GPUs). Shengen Yan, Chao Li 0004, Yunquan Zhang, Huiyang Zhou |
PPoPP | 2 |