Judging a type by its pointer: optimizing GPU virtual functions
Mengchi Zhang, Ahmad Alawneh, Timothy G. Rogers
摘要
Programmable accelerators aim to provide the flexibility of traditional CPUs with significantly improved performance. A wellknown impediment to the widespread adoption of programmable accelerators, like GPUs, is the software engineering overhead involved in porting the code. Existing support for C++ on GPUs allows programmers to port polymorphic code with little effort. However, the overhead from the virtual functions introduced by polymorphic code has not been well studied or mitigated on GPUs.
To alleviate the performance cost of virtual functions, we propose two novel techniques that determine an object's type based only on the object's address, without accessing the object's embedded virtual table pointer. The first technique, Coordinated Object Allocation and function Lookup (COAL), is a software-only solution that allocates objects by type and uses the compiler and runtime to find the object's vTable without accessing an embedded pointer. COAL improves performance by 80%, 47%, and 6% over contemporary CUDA, prior research, and our newly-proposed type-based allocator, respectively. The second solution, TypePointer, introduces a hardware modification that allows unused bits in the object pointer to encode the object's type, improving performance by 90%, 56%, and 12% over CUDA, prior work, and our new allocator. TypePointer can also be used with the default CUDA allocator to achieve an 18% performance improvement without modifying object allocation.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它它引用的顶会 Paper1
相关 Paper
- SuperCollider: Scalable and Effective Data Race Detection for CUDAMark Stephenson, Sana Damani, Mohamed Tarek Ibn Ziad, Anis Ladram 等PLDI 2026
- SoftWalker: Supporting Software Page Table Walk for Irregular GPU ApplicationsSungbin Jang, Junhyeok Park, Yongho Lee, Osang Kwon 等MICRO 2025 · 被引用 4 次
- DyCuckoo: Dynamic Hash Tables on GPUsYuchen Li, Qiwei Zhu, Zheng Lyu, Zhongdong Huang 等ICDE 2021 · 被引用 28 次
- AvA: Accelerated Virtualization of AcceleratorsHangchen Yu, Arthur Michener Peters, Amogh Akshintala, Christopher J. RossbachASPLOS 2020 · 被引用 33 次
- CARAT: a case for virtual memory through compiler- and runtime-based address translationBrian Suchy, Simone Campanoni, Nikos Hardavellas, Peter A. DindaPLDI 2020 · 被引用 16 次
