Parallel programming models for heterogeneous many-cores: a comprehensive survey

被引:33
作者
Fang, Jianbin [1 ]
Huang, Chun [1 ]
Tang, Tao [1 ]
Wang, Zheng [2 ]
机构
[1] Natl Univ Def Technol, Coll Comp, Inst Comp Syst, Changsha, Peoples R China
[2] Univ Leeds, Sch Comp, Leeds, W Yorkshire, England
基金
中国国家自然科学基金;
关键词
Heterogeneous computing; Many-core architectures; Parallel programming models; LINEAR ALGEBRA; OPENCL; GPU; IMPLEMENTATION; GRAPHICS; EFFICIENT; CHALLENGES; EXTENSION; FRAMEWORK; EXASCALE;
D O I
10.1007/s42514-020-00039-4
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Heterogeneous many-cores are now an integral part of modern computing systems ranging from embedding systems to supercomputers. While heterogeneous many-core design offers the potential for energy-efficient high-performance, such potential can only be unlocked if the application programs are suitably parallel and can be made to match the underlying heterogeneous platform. In this article, we provide a comprehensive survey for parallel programming models for heterogeneous many-core architectures and review the compiling techniques of improving programmability and portability. We examine various software optimization techniques for minimizing the communicating overhead between heterogeneous computing devices. We provide a road map for a wide variety of different research areas. We conclude with a discussion on open issues in the area and potential research directions. This article provides both an accessible introduction to the fast-moving area of heterogeneous programming and a detailed bibliography of its main achievements.
引用
收藏
页码:382 / 400
页数:19
相关论文
共 203 条
[1]  
Alfieri R.A., 1994, USENIX SUMM 1994 TEC
[2]  
Amd brook+ programming, 2007, AMB BROOK PROGR
[3]  
Amd cal programming guide v2.0, 2010, AMD CAL PROGR GUID V
[4]  
Amini M., 2011, LANGUAGES COMPILERS
[5]  
Andrade G., 2016, EURO PAR 2016
[6]  
[Anonymous], 2020, ROCM RUNTIME
[7]  
[Anonymous], 2009, NVID NEXT GEN CUD CO
[8]  
[Anonymous], 2020, PGI CUDA C CC X86
[9]  
[Anonymous], 2020, OPENACC API SPECIFIC
[10]  
[Anonymous], 2020, ZIILABS OPENCL