Shuyin Jiao
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Shuyin Jiao has a total of 31 co-authors. Here are the top co-authors by number of shared publications:
- Xu Liu
North Carolina State University, Raleigh, USA
4 shared publications - Bita Akram
North Carolina State University, Raleigh, NC, USA
2 shared publications - Bradford Mott
North Carolina State University, Raleigh, North Carolina, USA
2 shared publications - James Lester
North Carolina State University, Raleigh, North Carolina, USA
2 shared publications - Jessica Vandenberg
North Carolina State University, Raleigh, North Carolina, USA
2 shared publications - Jiajia Li
North Carolina State University, Raleigh, USA
2 shared publications
Latest Publications
- Open Access
- 4 November 2026
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Beyond Copy-Paste: Detecting and Understanding Students' Use of Unauthorized Aid when Monitored
- 4 November 2026
- Published by Association for Computing Machinery (ACM)
- p. 1-12
Open AccessBeyond Copy-Paste: Detecting and Understanding Students' Use of Unauthorized Aid when Monitored
- Open Access
- 30 June 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Software Engineering
- Vol. 3 (FSE) , 4140-4160
SmartDispatch: Dynamic Substitution of NumPy-Style APIs on Heterogeneous CPU-GPU Systems
The popularity of Python in various application domains has driven widespread adoption of NumPy-style APIs. To improve performance, libraries such as PyTorch, JAX, CuPy, and cuPyNumeric offer GPU-compatible counterparts to NumPy functions. However, substituting NumPy with these alternatives is not always beneficial due to the overheads of type conversion, data transfer, and kernel launch costs. We present SmartDispatch, a runtime framework that dynamically substitutes NumPy-style API calls with semantically equivalent implementations from other libraries to improve performance. Our system includes a knowledge base of equivalent APIs, a hardware-aware microbenchmarking component to identify substitution thresholds, and a runtime substitution tool. Evaluation on four platforms with varying CPU-GPU architectures using machine learning models from real-world benchmarks shows that consistent performance gains (1.3× to 5.8×) can be achieved without requiring code modification, demonstrating the effectiveness of cross-library substitution in heterogeneous environments.
- 30 June 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Software Engineering
- Vol. 3 (FSE) , 4140-4160
Open AccessSmartDispatch: Dynamic Substitution of NumPy-Style APIs on Heterogeneous CPU-GPU Systems
The popularity of Python in various application domains has driven widespread adoption of NumPy-style APIs. To improve performance, libraries such as PyTorch, JAX, CuPy, and cuPyNumeric offer GPU-compatible counterparts to NumPy functions. However, substituting NumPy with these alternatives is not always beneficial due to the overheads of type conversion, data transfer, and kernel launch costs. We present SmartDispatch, a runtime framework that dynamically substitutes NumPy-style API calls with semantically equivalent implementations from other libraries to improve performance. Our system includes a knowledge base of equivalent APIs, a hardware-aware microbenchmarking component to identify substitution thresholds, and a runtime substitution tool. Evaluation on four platforms with varying CPU-GPU architectures using machine learning models from real-world benchmarks shows that consistent performance gains (1.3× to 5.8×) can be achieved without requiring code modification, demonstrating the effectiveness of cross-library substitution in heterogeneous environments.
- Open Access
- 17 February 2026
- Published by Association for Computing Machinery (ACM)
- p. 1363-1364
INSIGHT: An Explainable, Instructor-Guided AI Assistant for Active Learning in CS1
- 17 February 2026
- Published by Association for Computing Machinery (ACM)
- p. 1363-1364
Open AccessINSIGHT: An Explainable, Instructor-Guided AI Assistant for Active Learning in CS1
- Open Access
- 17 February 2026
- Published by Association for Computing Machinery (ACM)
- p. 526-532
Integrating Hands-On Data Collection Experience in an Introductory Programming Class for Non-CS Majors
- 17 February 2026
- Published by Association for Computing Machinery (ACM)
- p. 526-532
Open AccessIntegrating Hands-On Data Collection Experience in an Introductory Programming Class for Non-CS Majors
- Open Access
- 15 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 368-382
RedSan: A Redundant Memory Instruction Sanitizer for GPU Programs
- 15 November 2025
- Published by Association for Computing Machinery (ACM)
- p. 368-382
Open AccessRedSan: A Redundant Memory Instruction Sanitizer for GPU Programs
- Open Access
CUTHERMO: Understanding GPU Memory Inefficiencies with Heat Map Profiling
GPUs have become indispensable in high-performance computing, machine learning, and many other domains. Efficiently utilizing the memory subsystem on GPUs is critical for maximizing computing power through massive parallelism. Analyzing memory access patterns has proven to be an effective method for understanding memory bottlenecks in applications. However, comprehensive runtime and fine-grained memory profiling support is lacking on GPU architectures. In this work, we introduce cuThermo, a lightweight and practical profiling tool for GPU memory analysis. It operates on GPU binaries without requiring any modifications to hardware, operating system, or application source code. Given a CUDA application, cuThermo identifies memory inefficiencies at runtime via a heat map based on distinct visited warp counts to represent word-sector-level data sharing and provides optimization guidance in performance tuning iterations. Through our experiments on six applications, we identified five memory access patterns that are portable across different GPU architectures. By evaluating optimization on two GPUs, cuThermo achieves up to $721.79\%$ performance improvement.Open AccessCUTHERMO: Understanding GPU Memory Inefficiencies with Heat Map Profiling
GPUs have become indispensable in high-performance computing, machine learning, and many other domains. Efficiently utilizing the memory subsystem on GPUs is critical for maximizing computing power through massive parallelism. Analyzing memory access patterns has proven to be an effective method for understanding memory bottlenecks in applications. However, comprehensive runtime and fine-grained memory profiling support is lacking on GPU architectures. In this work, we introduce cuThermo, a lightweight and practical profiling tool for GPU memory analysis. It operates on GPU binaries without requiring any modifications to hardware, operating system, or application source code. Given a CUDA application, cuThermo identifies memory inefficiencies at runtime via a heat map based on distinct visited warp counts to represent word-sector-level data sharing and provides optimization guidance in performance tuning iterations. Through our experiments on six applications, we identified five memory access patterns that are portable across different GPU architectures. By evaluating optimization on two GPUs, cuThermo achieves up to $721.79\%$ performance improvement. - Open Access
- 12 February 2025
- Published by Association for Computing Machinery (ACM)
- p. 952-958
Triton-Viz: Visualizing GPU Programming in AI Courses
GPU programming is a critical component in AI system courses, which is notoriously difficult to learn and teach, given its unique features such as massive parallelism and data movement across memory hierarchies. This paper presents Triton-Viz, an innovative visualization toolkit that helps students learn GPU programming using Triton, one of the most widely used programming languages to develop AI applications. Triton-Viz offers an intuitive interface with interactive visualizations of GPU operations from multiple perspectives, including parallelism, memory access, and performance metrics. By integrating into educational materials, Triton-Viz enhances hands-on learning and improves comprehension of GPU programming concepts and AI algorithms in real applications, as demonstrated in a study conducted with Computer Science students. The positive feedback from this study highlights the utility of Triton-Viz in educational settings and its potential to bridge the gap between the theoretical algorithm and practical implementations in AI courses.
- 12 February 2025
- Published by Association for Computing Machinery (ACM)
- p. 952-958
Open AccessTriton-Viz: Visualizing GPU Programming in AI Courses
GPU programming is a critical component in AI system courses, which is notoriously difficult to learn and teach, given its unique features such as massive parallelism and data movement across memory hierarchies. This paper presents Triton-Viz, an innovative visualization toolkit that helps students learn GPU programming using Triton, one of the most widely used programming languages to develop AI applications. Triton-Viz offers an intuitive interface with interactive visualizations of GPU operations from multiple perspectives, including parallelism, memory access, and performance metrics. By integrating into educational materials, Triton-Viz enhances hands-on learning and improves comprehension of GPU programming concepts and AI algorithms in real applications, as demonstrated in a study conducted with Computer Science students. The positive feedback from this study highlights the utility of Triton-Viz in educational settings and its potential to bridge the gap between the theoretical algorithm and practical implementations in AI courses.
- Open Access
- 14 March 2024
- Published by Association for Computing Machinery (ACM)
- p. 1832-1833
ThemeRec: Personalizing IDE Themes for Students
Prolonged screen time while working on programming assignments can often lead to student fatigue, boredom, and stress. In response to these issues and to enhance the overall programming environment for students, we introduce ThemeRec, a Visual Studio Code extension. ThemeRec provides students with personalized recommendations for code themes, with a particular focus on semantic coloring combinations. It boasts an extensive collection of over 150 code themes, each offering unique combinations of background colors, font styles, and semantic color arrangements. Using an integrated collaborative filtering recommendation system, ThemeRec automatically suggests and installs various themes based on the preferences of similar users whenever they want to change a theme. To assess the effectiveness of ThemeRec, we conducted an evaluation within an introductory-level programming course. The feedback from students has been positive and encouraging. This underscores the potential value that ThemeRec brings to programming courses.
- 14 March 2024
- Published by Association for Computing Machinery (ACM)
- p. 1832-1833
Open AccessThemeRec: Personalizing IDE Themes for Students
Prolonged screen time while working on programming assignments can often lead to student fatigue, boredom, and stress. In response to these issues and to enhance the overall programming environment for students, we introduce ThemeRec, a Visual Studio Code extension. ThemeRec provides students with personalized recommendations for code themes, with a particular focus on semantic coloring combinations. It boasts an extensive collection of over 150 code themes, each offering unique combinations of background colors, font styles, and semantic color arrangements. Using an integrated collaborative filtering recommendation system, ThemeRec automatically suggests and installs various themes based on the preferences of similar users whenever they want to change a theme. To assess the effectiveness of ThemeRec, we conducted an evaluation within an introductory-level programming course. The feedback from students has been positive and encouraging. This underscores the potential value that ThemeRec brings to programming courses.
- Open Access
- 10 July 2023
- Published by Association for Computing Machinery (ACM)
- p. 1-15
DroidPerf: Profiling Memory Objects on Android Devices
Optimizing performance inefficiencies in memory hierarchies is well-known for native languages, such as C and C++. There are few studies, however, on exploring memory inefficiencies in Android Runtime (ART). Running in ART, managed languages, such as Java and Kotlin, employ various abstractions, such as runtime support, ahead-of-time (AOT) compilation, and garbage collection (GC), which hide important execution details from the plain source code. In this paper, we develop DroidPerf, a lightweight, object-centric memory profiler for ART, which associates memory inefficiencies with objects created and used in Android apps. With such object-level information, DroidPerf is able to guide locality optimization on memory layouts, access patterns, and allocation patterns. Guided by DroidPerf, we optimize a number of popular Android apps and obtain significant performance gains. Many inefficiencies are confirmed by the code authors and optimization patches are under evaluation for upstreaming. As a practical tool, DroidPerf incurs ~32% runtime overhead and ~14% memory overhead on average. Furthermore, DroidPerf works in the production environment with off-the-shelf hardware, OS, Dalvik virtual machine, ART, and unmodified Android app source code.
- 10 July 2023
- Published by Association for Computing Machinery (ACM)
- p. 1-15
Open AccessDroidPerf: Profiling Memory Objects on Android Devices
Optimizing performance inefficiencies in memory hierarchies is well-known for native languages, such as C and C++. There are few studies, however, on exploring memory inefficiencies in Android Runtime (ART). Running in ART, managed languages, such as Java and Kotlin, employ various abstractions, such as runtime support, ahead-of-time (AOT) compilation, and garbage collection (GC), which hide important execution details from the plain source code. In this paper, we develop DroidPerf, a lightweight, object-centric memory profiler for ART, which associates memory inefficiencies with objects created and used in Android apps. With such object-level information, DroidPerf is able to guide locality optimization on memory layouts, access patterns, and allocation patterns. Guided by DroidPerf, we optimize a number of popular Android apps and obtain significant performance gains. Many inefficiencies are confirmed by the code authors and optimization patches are under evaluation for upstreaming. As a practical tool, DroidPerf incurs ~32% runtime overhead and ~14% memory overhead on average. Furthermore, DroidPerf works in the production environment with off-the-shelf hardware, OS, Dalvik virtual machine, ART, and unmodified Android app source code.