Judging a type by its pointer: optimizing GPU virtual functions
Judging a type by its pointer: optimizing GPU virtual functions
复制标题
通过指针判断类型:优化GPU虚拟函数
DOI:
10.1145/3445814.3446734
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Rogers, Timothy G.
中科院分区:
文献类型:
--
作者:
Zhang, Mengchi;Alawneh, Ahmad;Rogers, Timothy G.
Programmable accelerators aim to provide the flexibility of traditional CPUs with significantly improved performance. A well-known 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.
登录
查看更多内容
DOI:
--
发表时间:
2007
期刊:
International Symposium on Computer Architecture
影响因子:
--
作者:
Hyesoon Kim;José A. Joao;O. Mutlu;Chang Joo Lee;Y. Patt;R. Cohn
通讯作者:
R. Cohn
DOI:
10.1145/1346281.1346293
发表时间:
2008
期刊:
IEEE International Symposium on Performance Analysis of Systems and Software, 2005. ISPASS 2005.
影响因子:
--
作者:
José A. Joao;O. Mutlu;Hyesoon Kim;Rishi Agarwal;Y. Patt
通讯作者:
Y. Patt
DOI:
10.1145/178243.178478
发表时间:
1994
期刊:
SocioEconomic Challenges
影响因子:
--
作者:
Urs Hölzle;D. Ungar
通讯作者:
D. Ungar
DOI:
--
发表时间:
1989
期刊:
ACM-SIGACT Symposium on Principles of Programming Languages
影响因子:
--
作者:
M. Abadi;L. Cardelli;B. Pierce;G. Plotkin
通讯作者:
G. Plotkin
DOI:
--
发表时间:
2019
期刊:
ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming
影响因子:
--
作者:
Isaac Gelado;M. Garland
通讯作者:
M. Garland