【技术实现步骤摘要】
GPU线程负载均衡方法、装置、芯片、电子设备
[0001]本专利技术涉及GPU
,尤其涉及一种GPU线程负载均衡方法、装置、 芯片、电子设备。
技术介绍
[0002]图形处理器GPU是人工智能的重要组成部分,作为加速器已经在高性能计 算、图像处理等多个领域得到了广泛的应用。
[0003]现有的GPU芯片具有大规模细粒度并行的体系结构特征,适合处理大规模 数据并行任务;同时,传统GPU编程中,线程和任务的映射为静态的,在整个 程序执行过程中,线程和任务的映射关系不会发生变化。现有的GPU对于具有 大规模数据并行特征的应用程序来说非常友好,可大幅提升应用程序的性能。 但对于在游戏中需要图形处理算法与人工智能和场景管理等非图形算法相结 合的场景中,当前的GPU的体系结构使用GPU进行多线程并行优化时,线程 间会存在负载不均衡的问题,
[0004]针对上述问题,目前普遍采用程序拆分法与粗粒度并行的方法。其中,程 序拆分法将应用程序根据负载情况拆分成几份,每一份单独写一个GPU kenrel, 尽量保证每个GPU ...
【技术保护点】
【技术特征摘要】
1.一种GPU线程负载均衡方法,其特征在于,包括:通过固定GPU程序开启的工作组数量以及每个工作组开启的线程数量,固定GPU总开启的线程数量;将需要处理的所有计算任务分组并全部放到命令队列中,构建全局任务队列,允许每一个所述工作组对所述全局任务队列的访问权限;根据所述GPU总开启的线程当前的计算任务负载情况,从所述全局任务队列中获取每一个所述工作组需要执行的计算任务。2.根据权利要求1所述的方法,其特征在于,所述从所述全局任务队列中获取每一个所述工作组需要执行的计算任务,又包括:设置初始全局原子变量,作为全局任务队列访问开关;在一所述工作组获得对所述初始全局原子变量的访问权限的情况下,锁定对所述初始全局原子变量的唯一访问权限,并根据所述初始全局原子变量的变量值,从所述全局任务队列中获取该所述工作组需要执行的一组所述计算任务。3.根据权利要求2所述的方法,其特征在于,所述根据所述初始全局原子变量的变量值,从所述全局任务队列中获取该所述工作组需要执行的一组所述计算任务,又包括:在所述初始全局原子变量的变量值小于所述计算任务的分组数量的情况下,从所述全局任务队列中获取所述初始全局原子变量的变量值对应的一组所述计算任务执行;释放对所述初始全局原子变量的访问权限。4.根据权利要求2所述的方法,其特征在于,所述根据所述初始全局原子变量的变量值,从所述全局任务队列中获取该所述工作组需要执行的一组所述计算任务,又包括:在所述初始全局原子变量的变量值大于等于所述计算任务的分组数量的情况下,说明所述全局任务队列中所有所述计算任务已全部执行,该所述工作组退出执行。5.根据权利要求2所述的方法,其特征在于,所述设置初始全局原子变量,作为全局任务...
【专利技术属性】
技术研发人员:贾海鹏,张云泉,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。