基于图形处理器的计算网络系统、方法及装置制造方法及图纸

技术编号:6072419 阅读:225 留言:0更新日期:2012-04-11 18:40
本发明专利技术披露了基于图形处理器的计算网络系统、方法及装置,涉及计算网络中的管理节点和多个计算节点,方法包括:管理节点获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节点的内存;计算节点根据本节点的GPU设备的个数和CPU核数开辟CPU计算线程和GPU计算线程,并划分计算空间数据;管理节点将参与计算的数据广播到各个计算节点;CPU设备调用GPU计算线程与GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算。本发明专利技术通过采用CPU/GPU协同计算、共同计算实现了大型计算应用的高速化和最优化。

Computing network system, method and device based on graphics processor

The invention discloses a device and a network system, the calculation method based on GPU, involves the calculation and management of the nodes in the network and a plurality of computing nodes and methods include: the management node gets the number of nodes in the network is calculated according to the calculation, the size of the space to open each computing node memory; computing nodes according to the node's GPU equipment the number and the number of CPU cores opened CPU computing threads and GPU computing threads, and divide the calculation of spatial data; the management node will participate in the calculation of the data broadcast to each computing node; CPU device called GPU calculation thread and GPU equipment as part of a collaborative computing, and parallel computing threads call CPU completed another part of calculation. The invention realizes high-speed and optimization of large-scale computing application by adopting CPU/GPU cooperative calculation and common calculation.

【技术实现步骤摘要】
本专利技术涉及高性能计算应用技术,尤其涉及基于图形处理器的计算网络系统、方 法及装置。
技术介绍
随着图形处理器(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计算核心用该第二缓存区的数据对计算空间数据进行计算。进一步地,还涉及计算网络的存储设备;CPU设备调用GPU计算线程控制GPU设备完成相应的计算后,还包括导出计算的 计算空间数据,以及释放GPU资源;在并行调用CPU计算线程完成相应的计算后,还包括将CPU计算线程与GPU计算 线程各自计算的计算空间数据写回该存储设备。进一步地,该基于图形处理器的计算网络为叠前时间偏移计算网络,该计算空间 数据为成像空间数据,参与计算的数据为参与计算的道数据。为了解决上述技术问题,本专利技术提供了一种基于图形处理器的计算网络系统,包 括管理节点、多个计算节点以及存储设备,其中管理节点,用于获取计算网络中计算节点的个数,根据计算空间大小开辟每一计 算节点的内存;将从存数设备读取的参与计算的数据广播到各个计算节点; 计算节点,用于根据本节点的图形处理器GPU设备的个数和CPU核数开辟CPU计 算线程和GPU计算线程,并划分计算空间数据;通过调用GPU计算线程与GPU设备协同完成 一部分计算,通过并行调用CPU计算线程完成另一部分计算; 存储设备,至少用于存储参与计算的数据。进一步地,计算网络系统为叠前时间偏移计算网络系统,计算空间数据为成像空 间数据,参与计算的数据为参与计算的道数据;管理节点获取计算节点的个数为M,根据成像空间大小为S为每个计算节点各开 辟大小为S/M的内存,用于各计算节点存储本地的成像空间数据;计算节点获取本节点所有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]。进一步地,管理节点利用消息传输接口(MPI)并行地将参与计算的道数据广播到计算节点;CPU设备调用GPU计算线程初始化GPU设备,向GPU设备传递成像空间数据;在通 过一个接收线程接收到道数据后,控制GPU设备用道数据对划分给GPU设备的成像空间数 据进行相应部分的计算,直至对所有接收的道数据计算结束;同时并行调用CPU计算线程 用接收到的道数据对划分给CPU设备的成像空间数据进行相应部分的计算,直至所有接收 的道数据计算结束。进一步地,CPU设备调用的GPU计算线程在GPU设备中开辟两块缓冲区用于缓存道数据,并创 建两个流标志;当具有第一流标志的道数据到来后向第一缓存区传输,并调用GPU计算核 心用该第一缓存区的道数据对成像空间数据进行计算;当具有第二流标志的道数据到来后 向第二缓存区传输,并调用GPU计算核心用该第二缓存区的道数据对成像空间数据进行计笪弁。进一步地本文档来自技高网...

【技术保护点】
1.一种基于图形处理器的计算网络中的方法,涉及所述计算网络中的管理节点和多个计算节点,该方法包括:管理节点获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节点的内存;计算节点根据本节点的图形处理器GPU设备的个数和CPU核数开辟CPU计算线程和GPU计算线程,并划分计算空间数据;所述管理节点将参与计算的数据广播到各个计算节点;CPU设备调用GPU计算线程与所述GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算。

【技术特征摘要】
1.一种基于图形处理器的计算网络中的方法,涉及所述计算网络中的管理节点和多个 计算节点,该方法包括管理节点获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节点的内存;计算节点根据本节点的图形处理器GPU设备的个数和CPU核数开辟CPU计算线程和 GPU计算线程,并划分计算空间数据;所述管理节点将参与计算的数据广播到各个计算节点;CPU设备调用GPU计算线程与 所述GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算。2.按照权利要求1所述的方法,其特征在于,管理节点获取计算网络中计算节点的个 数,根据计算空间大小开辟每一计算节点的内存,具体包括管理节点获取计算网络中计算节点的个数为M,根据计算空间大小为S为每个计算节 点各开辟大小为S/M的内存,用于各计算节点存储本地的计算空间数据。3.按照权利要求1所述的方法,其特征在于,计算节点根据本节点的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]。4.按照权利要求1至3任一项所述的方法,其特征在于,所述管理节点将参与计算的数 据广播到各个计算节点,具体包括所述管理节点利用消息传输接口并行地将所述参与计算的数据广播到所述计算节点。5.按照权利要求4所述的方法,其特征在于,所述CPU设备调用GPU计算线程与所述 GPU设备协同完成一部分计算,同时并行调用CPU计算线程完成另一部分计算,具体包括所述CPU设备调用GPU计算线程,初始化所述GPU设备,向所述GPU设备传递所述计算 空间数据;在通过一个接收线程接收到数据后,控制所述GPU设备将所述数据对于划分给 所述GPU设备的计算空间数据进行相应部分的计算,直至对所有接收的数据计算结束;同 时并行调用所述CPU计算线程用接收到的数据对于划分给所述CPU设备的计算空间数据进 行相应部分的计算,直至所有接收的数据计算结束。6.按照权利要求5所述的方法,其特征在于,所述GPU计算线程在所述GPU设备中开辟两块缓冲区用于缓存数据,并创建两个流标 志;当具有第一流标志的数据到来后向第一缓存区传输,并调用GPU计算核心用该第一缓 存区的数据对于计算空间数据进行计算;当具有第二流标志的数据到来后向第二缓存区传 输,并调用GPU计算核心用该第二缓存区的数据对计算空间数据进行计算。7.按照权利要求1所述的方法,其特征在于,还涉及计算网络的存储设备;所述CPU设备调用所述GPU计算线程控制所述GPU设备完成相应的计算后,还包括导出计算的计算空间数据,以及释放GPU资源;在并行调用所述CPU计算线程完成相应的计算后,还包括将所述CPU计算线程与所述 GPU计算线程各自计算的计算空间数据写回该存储设备。8.按照权利要求1至3、5、6、7任一项所述的方法,其特征在于,所述基于图形处理器的 计算网络为叠前时间偏移计算网络,所述计算空间数据为成像空间数据,所述参与计算的 数据为参与计算的道数据。9.一种基于图形处理器的计算网络系统,包括管理节点、多个计算节点以及存储设备, 其中管理节点,用于获取计算网络中计算节点的个数,根据计算空间大小开辟每一计算节 点的内存;将从存数设备读取的参与计算的数据广播到各个计算节点;计算节点,用于根据本节点的图形处理器GPU设备的个数和CPU核数开辟CPU计算线 程和GPU计算线程,并划分计算空间数据;通过调用GPU计算线程与所述GPU设备协同完成 一部分计算,通过并行调用CPU计算线程完成另一部分计算; 存储设备,至少用于存储所述参与计算的数据。10.按照权利要求9所述的系统,其特征在于,所述计算网络系统为叠前时间偏移计 算网络系统,所述计算空间数据为成像空间数据,所述参与计算的数据为参与计算的道数 据;所述管理节点获取所述计算节点的个数为M,根据成像空间大小为S为每个计算节点 各开辟大小为S/M的内存,用于各计算节点存储本地的成像空间数据;所述计算节点获取本节点所有CPU设备的核数共为N_CPU,GPU设备个数为N_GPU,则 开辟(N_CPU-N_GPU)个CPU计算线程和N_GPU个GPU线程;根据所述N_CPU、所述N_GPU及 GPU设备与CPU设备计算能力的比值N将所述成像空间数据...

【专利技术属性】
技术研发人员:谢海波张清赵开勇吴庆
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1