[发明专利]基于图形处理器的计算网络系统、方法及装置有效
申请号: | 201110049546.2 | 申请日: | 2011-03-01 |
公开(公告)号: | CN102135949A | 公开(公告)日: | 2011-07-27 |
发明(设计)人: | 谢海波;张清;赵开勇;吴庆 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F15/173 | 分类号: | G06F15/173;G06F9/50 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 图形 处理器 计算 网络 系统 方法 装置 | ||
技术领域
本发明涉及高性能计算应用技术,尤其涉及基于图形处理器的计算网络系统、方法及装置。
背景技术
随着图形处理器(GPU,Graphic Processing Unit)体系结构的不断发展,利用GPU进行通用计算的方法被越来越多的学术和工业界所采用。GPU设备(显卡)拥有计算能力强,显示内存吞吐量大等特点,尤其适合于细粒度、高度并发的并行算法领域,在高性能计算领域受到越来越多的关注。
例如,石油行业高性能计算是典型的行业应用。其中叠前时间偏移又是石油行业重要的处理地震信息的方法,是以时间记录的方式来处理地震资料信息,适用于地层速度横向变化不大的构造。
在现有的作为计算网络系统中计算节点的服务器设备中,虽然也有引入GPU设备应用于譬如叠前时间偏移计算这类大型计算上,但这些GPU设备与服务器设备中的CPU设备(主卡)只是简单的协同关系,即由CPU设备控制GPU设备,主要的计算操作由GPU设备完成。显然,这样的工作模式并没有充分利用CPU设备,工作效率较低。
将GPU设备尤其是GPU集群应用于计算网络实现大型计算应用是一项非常有意义的工作。尤其是在引入GPU设备之后,需要设计一种软件方法,使得CPU设备在控制GPU设备的同时,能够参与计算,由此可以提高设备的工作效率,并避免由于引入GPU设备所引起的负载不均衡等问题,以及可以更加充分地利用GPU集群的性能优势。
发明内容
本发明所要解决的技术问题是提供一种基于图形处理器的计算网络系统、方法及装置,能够使得CPU设备在控制GPU设备的同时参与部分计算。
为了解决上述技术问题,本发明提供了一种基于图形处理器的计算网络中的方法,涉及计算网络中的管理节点和多个计算节点,该方法包括:
管理节点获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节点的内存;
计算节点根据本节点的图形处理器GPU设备的个数和CPU核数开辟CPU计算线程和GPU计算线程,并划分计算空间数据;
管理节点将参与计算的数据广播到各个计算节点;CPU设备调用GPU计算线程与GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算。
进一步地,管理节点获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节点的内存,具体包括:
管理节点获取计算网络中计算节点的个数为M,根据计算空间大小为S为每个计算节点各开辟大小为S/M的内存,用于各计算节点存储本地的计算空间数据。
进一步地,计算节点根据本节点的GPU设备的个数和CPU核数开辟CPU计算线程和GPU计算线程,并划分计算空间数据,具体包括:
计算节点获取本节点所有CPU设备的核数共为N_CPU,GPU设备个数为N_GPU,则开辟(N_CPU-N_GPU)个CPU计算线程和N_GPU个GPU线程;根据该N_CPU、该N_GPU及GPU设备与CPU设备计算能力的比值N将计算空间数据按照(N_CPU-N_GPU)∶N∶N进行划分,其中,
CPU设备的计算空间数据大小为:
(N_CPU-N_GPU)/[(N_CPU-N_GPU)+N_GPU*N];
GPU设备的计算空间数据大小为:
N*N_GPU/[(N_CPU-N_GPU)+N_GPU*N]。
进一步地,管理节点将参与计算的数据广播到各个计算节点,具体包括:
管理节点利用消息传输接口并行地将参与计算的数据广播到计算节点。
进一步地,CPU设备调用GPU计算线程与GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算,具体包括:
CPU设备调用GPU计算线程,初始化GPU设备,向GPU设备传递计算空间数据;在通过一个接收线程接收到数据后,控制GPU设备将该数据对于划分给GPU设备的计算空间数据进行相应部分的计算,直至对所有接收的数据计算结束;同时并行调用CPU计算线程用接收到的数据对于划分给CPU设备的计算空间数据进行相应部分的计算,直至所有接收的数据计算结束。
进一步地,
GPU计算线程在GPU设备中开辟两块缓冲区用于缓存数据,并创建两个流标志;当具有第一流标志的数据到来后向第一缓存区传输,并调用GPU计算核心用该第一缓存区的数据对于计算空间数据进行计算;当具有第二流标志的数据到来后向第二缓存区传输,并调用GPU计算核心用该第二缓存区的数据对计算空间数据进行计算。
进一步地,还涉及计算网络的存储设备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110049546.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种手机冲突测试系统及方法
- 下一篇:天线组件及应用该天线组件的无线通信装置