首页 | 本学科首页   官方微博 | 高级检索  
     

面向GPU并行编程的线程同步综述
引用本文:高岚,赵雨晨,张伟功,王晶,钱德沛.面向GPU并行编程的线程同步综述[J].软件学报,2024,35(2):1028-1047.
作者姓名:高岚  赵雨晨  张伟功  王晶  钱德沛
作者单位:首都师范大学 信息工程学院, 北京 100048;中国人民大学 信息学院, 北京 100872;北京航空航天大学 计算机学院, 北京 100191
基金项目:国家自然科学基金(62202317,62076168);北京市自然科学基金(4214063);北京市教委科技一般项目(KM202110028011)
摘    要:并行计算已成为主流趋势. 在并行计算系统中, 同步是关键设计之一, 对硬件性能的充分利用至关重要. 近年来, GPU (graphic processing unit, 图形处理器)作为应用最为广加速器得到了快速发展, 众多应用也对GPU线程同步提出更高要求. 然而, 现有GPU系统却难以高效地支持真实应用中复杂的线程同步. 研究者虽然提出了很多支持GPU线程同步的方法并取得了较大进展, 但GPU独特的体系结构及并行模式导致GPU线程同步的研究仍然面临很多挑战. 根据不同的线程同步目的和粒度对GPU并行编程中的线程同步进行分类. 在此基础上, 围绕GPU线程同步的表达和执行, 首先分析总结GPU线程同步存在的难以高效表达、错误频发、执行效率低的关键问题及挑战; 而后依据不同的GPU线程同步粒度, 从线程同步表达方法和性能优化方法两个方面入手, 介绍近年来学术界和产业界对GPU线程竞争同步及合作同步的研究, 对现有研究方法进行分析与总结. 最后, 指出GPU线程同步未来的研究趋势和发展前景, 并给出可能的研究思路, 从而为该领域的研究人员提供参考.

关 键 词:通用图形处理器  (GPGPU)  并行编程  线程同步  性能优化
收稿时间:2022/9/23 0:00:00
修稿时间:2023/3/12 0:00:00

Survey on Thread Synchronization in GPU Parallel Programming
GAO Lan,ZHAO Yu-Chen,ZHANG Wei-Gong,WANG Jing,QIAN De-Pei.Survey on Thread Synchronization in GPU Parallel Programming[J].Journal of Software,2024,35(2):1028-1047.
Authors:GAO Lan  ZHAO Yu-Chen  ZHANG Wei-Gong  WANG Jing  QIAN De-Pei
Affiliation:Information Engineering College, Capital Normal University, Beijing 100048, China;School of Information, Renmin University of China, Beijing 100872, China; School of Computer Science and Engineering, Beihang University, Beijing 100191, China
Abstract:Parallel computing has become the mainstream. Among all the parallel computing systems, synchronization is one of the critical designs and is imperative to fully utilize the hardware performance. In recent years, GPU, as the most widely used accelerator, has developed rapidly, and many applications have placed greater demands on GPU thread synchronization. However, current GPUs cannot support thread synchronization efficiently in many real-world applications. Although many approaches have been proposed to support GPU thread synchronization and much progress has been made, the unique architecture and parallel pattern of GPUs still lead to many challenges in GPU thread synchronization research. In this study, thread synchronization in GPU parallel programming is divided into different categories according to different synchronization purposes and granularity. Around the synchronization expression and execution, the key problems and challenges of synchronization on GPUs are firstly analyzed, i.e., being difficult to express efficiently, incurring frequent concurrency bugs, and low execution efficiency. Secondly, the study introduces the research on synchronization for thread contention and synchronization for thread cooperation on GPUs in academia and industry in recent years from two aspects of thread synchronization expression method and performance optimization method based on different GPU thread synchronization granularity. Then the existing research methods are analyzed. On this basis, the study points out the future research trends and development prospects of GPU thread synchronization and feasible research methods, providing a reference for researchers in this field.
Keywords:general-purpose computing on graphics processing unit (GPGPU)  parallel programming  thread synchronization  performance optimization
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号