SmartDispatch: Dynamic Substitution of NumPy-Style APIs on Heterogeneous CPU-GPU Systems
Jinku Cui, Yueming Hao, Shuyin Jiao, Jiajia Li, Xu Liu
Abstract
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.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get 88ce578c-27d4-4596-812f-0bb8d34c41fdRelated papers
- Offload Annotations: Bringing Heterogeneous Computing to Existing Libraries and WorkloadsGina Yuan, Shoumik Palkar, Deepak Narayanan, Matei ZahariaUSENIX ATC 2020 · 11 citations
- Composing Distributed Computations Through Task and Kernel FusionRohan Yadav, Shiv Sundram, Wonchan Lee, Michael Garland et al.ASPLOS 2025
- Legate Sparse: Distributed Sparse Computing in PythonRohan Yadav, Wonchan Lee, Melih Elibol, Manolis Papadakis et al.SC 2023 · 8 citations
- DeepContext: A Context-aware, Cross-platform, and Cross-framework Tool for Performance Profiling and Analysis of Deep Learning WorkloadsQidong Zhao, Hao Wu, Yueming Hao, Zilingfeng Ye et al.ASPLOS 2025 · 3 citations
- Parla: A Python Orchestration System for Heterogeneous ArchitecturesHochan Lee, William Ruys, Ian Henriksen, Arthur Michener Peters et al.SC 2022 · 6 citations
