[发明专利]一种CPU+GPU协同并行计算动态负载均衡方法在审
申请号: | 201410175626.6 | 申请日: | 2014-04-29 |
公开(公告)号: | CN103902387A | 公开(公告)日: | 2014-07-02 |
发明(设计)人: | 吴庆;张广勇;吴韶华;王娅娟 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu gpu 协同 并行 计算 动态 负载 均衡 方法 | ||
技术领域
本发明涉及计算机高性能计算领域、科学计算领域,具体涉及一种CPU+GPU协同并行计算动态负载均衡方法。
背景技术
硬件系统在新技术的推动下进行着快速演进,表现出更好的性能、更低的价格,如传统CPU从单核向多核直至众核发展。随着多核体系结构处理器的普及,应用软件多线程并行处理方式将逐渐成为主流。另外,GPU除了传统的应用(图形显示,多用于游戏)以外,由于其超强的浮点计算能力,越来越多地应用在数学计算上,并且逐渐开始进入计算的主流。面向GPU编程的高级语言和开发工具也开始大量涌现。
随着CPU多核架构处理器和GPU众核架构处理器的普及,在多核CPU架构基础上扩展GPU架构设备的混合架构计算平台,将越来越多地被应用于密集计算领域,如高性能计算领域。应用CPU+GPU协同并行计算提高软件的运行效能逐渐成为主流,如何实现CPU+GPU协同计算的负载均衡,将CPU+GPU混合架构平台的计算性能发挥到极致,成为软件工程师面临的挑战。
发明内容
针对如何实现CPU和GPU计算设备协同计算的负载均衡这一重点和难点,本发明提出CPU+GPU协同并行计算的动态负载均衡方案及软件实现方法,在传统动态负载均衡方式难以发挥作用的场合有效解决了这一难题。
本发明公开了一种CPU+GPU协同并行计算动态负载均衡方法,其解决所述技术问题采用的技术方案如下:所述CPU+GPU协同并行计算动态负载均衡方法,利用当前主流的多核CPU计算设备和GPU架构设备协同并行计算,使CPU和各GPU设备的任务负载匹配各自的计算能力,其主要内容包括:主线程处理输入参数并完成相应初始化操作、主线程创建计算设备控制线程以及CPU+GPU异构架构中动态负载均衡方案;
在单节点内,主线程处理输入参数并完成相应初始化操作,然后创建1+N个计算设备控制线程,分别控制节点内CPU设备和N个GPU设备,CPU控制线程再根据节点内计算核数创建若干并行计算线程,CPU与GPU设备间采用动态负载均衡的方案,实现并行效率的最优化。
进一步,所述主线程处理输入参数并完成相应初始化操作中,所述主线程初始化操作包括:扫描节点内GPU计算设备数和型号、节点内CPU计算核数,并为每个GPU设备创建一个GPU属性数据结构对象。
进一步,所述主线程创建计算设备控制线程中,所有CPU核作为一个整体计算设备,系统中N个GPU每个GPU作为一个计算设备,系统中主线程共创建1+N个设备控制线程,这1+N个设备控制线程为1个CPU控制线程和N个GPU控制线程,分别控制节点内CPU设备和N个GPU设备。
进一步,所述每个设备控制线程,具有记录其所属计算设备属性信息及作业信息的数据结构,称为设备控制线程参数;其中,所述设备属性信息的数据结构成员包括:设备类型、设备ID号及其它设备属性信息;所述作业信息数据结构成员包括:作业大小、作业总时间、单位作业平均时间、相对性能加速比指数。
进一步,所述CPU控制线程根据启用的节点内计算核数创建若干更细粒度的并行计算线程,并且CPU端各细粒度并行计算线程采用互斥锁的方式通信,并依此竟争计算任务,实现动态负载均衡。
进一步,所述CPU控制线程创建M=SYSCORE_NUM-N个细粒度并行计算线程,SYSCORE_NUM为启用的系统核数,默认为自动检测的系统核数,N为启动的GPU设备数。
进一步,所述GPU控制线程控制一个GPU计算设备,负责读数据、管理该GPU计算、输出结果数据。
进一步,所述CPU+GPU异构架构中的CPU设备和N个GPU设备,各设备完全独立并行处理,各设备控制线程需要独立进行数据读写操作;
进一步,所述主线程为各控制线程分别创建一个输出数据体控制句柄;并且,各设备控制线程需要多线程化的读写接口支持,各控制线程使用线程化读、写接口,分别输出至一个独立的数据体,每个数据体都对应一个独立的头文件,头文件描述了数据体的基本属性。
进一步,所述CPU+GPU异构架构中的动态负载均衡方案,是指CPU控制线程和N个GPU控制线程根据计算能力强弱,通过互斥锁竟争计算任务。
进一步,所述动态负载均衡方案兼容纯CPU架构平台和CPU+GPU混合架构平台,并且支持配置多种不同型号GPU设备的工作站系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410175626.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种单体电压采集电路
- 下一篇:一种电动汽车用电机控制器的电压检测系统