Effective Extensible Programming: Unleashing Julia on GPUs

被引:111
作者
Besard, Tim [1 ]
Foket, Christophe [1 ]
De Sutter, Bjorn [1 ]
机构
[1] Univ Ghent, Dept Elect & Informat Syst, B-9000 Ghent, Belgium
关键词
Graphics processors; very high-level languages; code generation; retargetable compilers; LANGUAGE;
D O I
10.1109/TPDS.2018.2872064
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in a low-level programming language. High-level languages are rarely supported, or do not integrate with the rest of the high-level language ecosystem. To overcome this, we propose compiler infrastructure to efficiently add support for new hardware or environments to an existing programming language. We evaluate our approach by adding support for NVIDIA GPUs to the Julia programming language. By integrating with the existing compiler, we significantly lower the cost to implement and maintain the new compiler, and facilitate reuse of existing application code. Moreover, use of the high-level Julia programming language enables new and dynamic approaches for GPU programming. This greatly improves programmer productivity, while maintaining application performance similar to that of the official NVIDIA CUDA toolkit.
引用
收藏
页码:827 / 841
页数:15
相关论文
共 44 条
[1]   A Review of Hardware Acceleration for Computational Genomics [J].
Aluru, Srinivas ;
Jammula, Nagakishore .
IEEE DESIGN & TEST, 2014, 31 (01) :19-30
[2]  
Anderson E., 1999, LAPACK USERS GUIDE
[3]  
[Anonymous], 2012, JULIA FAST DYNAMIC L
[4]   Case study of multiple trace transform implementations [J].
Besard, Tim ;
De Sutter, Bjorn ;
Frias-Velazquez, Andres ;
Philips, Wilfried .
INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2015, 29 (04) :489-505
[5]  
Bezanson J., 2015, WHY IS JULIA FAST CA
[6]  
Bezanson J. W., 2015, THESIS
[7]   Julia: A Fresh Approach to Numerical Computing [J].
Bezanson, Jeff ;
Edelman, Alan ;
Karpinski, Stefan ;
Shah, Viral B. .
SIAM REVIEW, 2017, 59 (01) :65-98
[8]  
Catanzaro B, 2011, ACM SIGPLAN NOTICES, V46, P47, DOI 10.1145/1941553.1941562
[9]  
Che SA, 2009, I S WORKL CHAR PROC, P44, DOI 10.1109/IISWC.2009.5306797
[10]  
Clarkson J., 2015, ARXIV150806791