基于GPU平台实现数据处理的方法和装置制造方法及图纸

技术编号:11450753 阅读:160 留言:0更新日期:2015-05-13 23:24
一种基于GPU平台实现数据处理的方法和装置,其中,方法包括:从通用计算平台的函数体中提取进行函数计算时所需的参数;将通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将通用计算平台中数据结构类型为非变长数组的所有参数建立一个结构体,形成一个结构体型参数;完成通用平台到GPU平台间的空间地址转换;根据GPU平台上所建立的参数的数据结构类型,对应修改函数体中的参数申明和参数引用点;在GPU平台上运行经过参数申明和参数引用点修改的函数;将函数运行后的计算结果的地址从GPU平台的地址空间转换为通用计算平台的地址空间。通过所述方法和装置可以提高GPU平台的数据处理效率。

【技术实现步骤摘要】
基于GPU平台实现数据处理的方法和装置
本专利技术涉及计算处理领域,尤其涉及一种基于GPU平台实现数据处理的方法和装置。
技术介绍
可编程图形处理单元(GraphicProcessingUnit,GPU)已经发展成为一种高度并行化、多线程以及多核的处理器。由于其在浮点运算、并行计算等方面的优异性能,GPU的应用早已不再局限于图像处理,将GPU平台用于处理大规模数据运算的通用计算技术也得到了重大发展。目前,基于现有的通用计算平台,并结合GPU平台加速数据处理已成为如医疗、探测等多领域中广泛应用的业务解决方案。然而,由于算法复杂,参数众多以及数据耦合度大等原因,在通过GPU平台进行数据处理和函数计算的过程中,每一个步骤或者任何一个参数出错都会导致计算结果错误。并且,由于GPU本身的多线程调试相对困难,当存在错误而又没有进行正确性检测时,还会导致后续调试的难度进一步增大。这些问题都会影响到GPU平台对数据处理的计算性能,进而影响开发效率。
技术实现思路
本专利技术实施例解决的问题是如何提高GPU平台的数据处理效率。为解决上述问题,本专利技术实施例提供一种基于GPU平台实现数据处理的方法,包括:从通用计算平台的函数体中提取进行函数计算时所需的参数;将所述通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将所述通用计算平台中数据结构类型为非变长数组的所有参数建立一个结构体,形成一个结构体型参数;完成所述通用平台到所述GPU平台间的空间地址转换;根据所述GPU平台上所建立的参数的数据结构类型,对应修改所述函数体中的参数申明和参数引用点;在所述GPU平台上运行经过参数申明和参数引用点修改的函数;将函数运行后的计算结果的地址从所述GPU平台的地址空间转换为所述通用计算平台的地址空间。可选的,所述完成所述通用平台到所述GPU平台间的空间地址转换包括:为所述函数体中的输入型参数在所述GPU平台上的地址空间分配第一空间,并将所述输入型参数的数据复制到所述第一空间中;为所述函数体中的输出型参数在所述GPU平台上的地址空间分配第二空间。可选的,所述为所述函数体中的输入型参数在所述GPU平台上的地址空间分配第一空间,并将所述输入型参数的数据复制到所述第一空间中包括:当所述输入型参数为变长数组型参数时,在所述第一空间中将所述输入型参数复制为指向所述变长数组在所述通用平台中地址的数据。可选的,所述在所述GPU平台上运行经过参数申明和参数引用点修改的函数包括:根据自定义设置,在所述GPU平台上启动运行所述函数的线程的维度。可选的,所述通用计算平台为CPU平台。可选的,所述基于GPU平台实现数据处理的方法适用于对剂量的计算。可选的,所述进行函数计算时所需的参数包括:计算剂量的点坐标,等效密度表,等效长度表,源皮距表,通量图表,卷积核表,离轴数据,CT密度表数据,电子矫正表数据。为了解决上述的技术问题,本专利技术实施例还公开了一种基于GPU平台实现数据处理的装置,包括:提取单元,适于从通用计算平台的函数体中提取需要进行函数计算时所需的参数;建立单元,适于将所述通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将所述通用计算平台中数据结构类型为非变长数组的所有参数建立一个结构体,形成一个结构体型参数;第一转换单元,适于完成所述通用平台到所述GPU平台间的空间地址转换;修改单元,适于根据所述GPU平台上所建立的参数的数据结构类型,对应修改所述函数体中的参数申明和参数引用点;运行单元,适于在所述GPU平台上运行经过参数申明和参数引用点修改的函数;第二转换单元,适于将函数运行后的计算结果的地址从所述GPU平台的地址空间转换为所述通用计算平台的地址空间。可选的,所述第一转换单元包括:第一分配子单元,适于为所述函数体中的输入型参数在所述GPU平台上的地址空间分配第一空间,并将所述输入型参数的数据复制到所述第一空间中;第二分配子单元,适于为所述函数体中的输出型参数在所述GPU平台上的地址空间分配第二空间。可选的,所述第一分配子单元包括:复制模块,适于当所述输入型参数为变长数组型参数时,在所述第一空间中将所述输入型参数复制为指向所述变长数组在所述通用平台中地址的数据。可选的,所述运行单元包括:启动子单元,适于根据自定义设置,在所述GPU平台上启动运行所述函数的线程的维度。可选的,所述通用计算平台为CPU平台。与现有技术相比,本专利技术实施例的技术方案具有以下优点:通过将通用计算平台到GPU平台的多个参数间的复杂对应关系简化为多个简单的一对一关系,降低了数据耦合度和参数的数目众多带来的复杂性,因此只要通过简单的检验过程,即可保证函数计算中所需要的众多复杂参数的正确性,降低了后续的调试的难度,提高GPU平台的数据处理效率。附图说明图1是本专利技术实施例的一种基于GPU平台实现数据处理的方法的流程图;图2是本专利技术实施例的一种基于GPU平台实现数据处理的装置的结构示意图。具体实施方式由于GPU在浮点运算、并行计算等方面的优异性能,通过GPU平台处理大规模数据运算的通用计算已成为多领域中广泛应用的业务解决方案。然而,由于算法复杂,参数众多以及数据耦合度大等原因,在通过GPU平台进行数据处理和函数计算的过程中,每一个步骤或者任何一个参数出错都会导致计算结果错误。并且,由于GPU本身的多线程调试相对困难,当存在错误而又没有进行正确性检测时,还会导致后续调试的难度进一步增大。这些问题都会影响到GPU平台对数据处理的计算性能,进而影响开发效率。本专利技术实施例通过将通用计算平台到GPU平台的多个参数间的复杂对应关系简化为多个简单的一对一关系,降低了数据耦合度和参数的数目众多带来的复杂性,因此只要通过简单的检验过程,即可保证函数计算中所需要的众多复杂参数的正确性,降低了后续的调试的难度,提高GPU平台的数据处理效率。为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。本专利技术实施例提供了一种基于GPU平台实现数据处理的方法,参照图1,以下通过具体步骤进行详细说明。如图1所示,所述基于GPU平台实现数据处理的方法包括:步骤S101,从通用计算平台的函数体中提取进行函数计算时所需的参数。在具体实施中,所述通用计算平台为进行大规模数据运算时,传统使用的计算平台,例如可以是CPU平台。与GPU平台相比,CPU平台主要是为串行指令而优化,其并行方式主要针对的是指令集并行和任务并行,而非数据并行,因此GPU平台在大规模并行运算上相对于传统通用计算平台具有较大优势。在具体实施中,所述基于GPU平台实现数据处理的方法可以适用于医疗领域中对剂量的函数计算,因此,对应于进行的剂量计算,所述进行函数计算时所需的参数可以相应包括:计算剂量的点坐标,等效密度表,等效长度表,源皮距表,通量图表,卷积核表,离轴数据,CT密度表数据以及电子矫正表数据等参数。可以理解的是,所述基于GPU平台实现数据处理的方法也可以适用于其他领域,例如探测等领域中的大规模数据运算。根据所适用的具体函数计算类型不同,相应的计算参数也当然不同。步骤S102,将所述通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将所述通用计算平台中数据结构类型为非变长数组的所有参数建立本文档来自技高网...
基于GPU平台实现数据处理的方法和装置

【技术保护点】
一种基于GPU平台实现数据处理的方法,其特征在于,包括:从通用计算平台的函数体中提取进行函数计算时所需的参数;将所述通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将所述通用计算平台中数据结构类型为非变长数组的所有参数建立一个结构体,形成一个结构体型参数;完成所述通用平台到所述GPU平台间的空间地址转换;根据所述GPU平台上所建立的参数的数据结构类型,对应修改所述函数体中的参数申明和参数引用点;在所述GPU平台上运行经过参数申明和参数引用点修改的函数;将函数运行后的计算结果的地址从所述GPU平台的地址空间转换为所述通用计算平台的地址空间。

【技术特征摘要】
1.一种基于GPU平台实现数据处理的方法,其特征在于,包括:从通用计算平台的函数体中提取进行函数计算时所需的参数;将所述通用计算平台中数据结构类型为变长数组的每个参数建立单独的参数;将所述通用计算平台中数据结构类型为非变长数组的所有参数建立一个结构体,形成一个结构体型参数;完成所述通用计算平台到所述GPU平台间的空间地址转换;根据所述GPU平台上所建立的参数的数据结构类型,对应修改所述函数体中的参数申明和参数引用点;在所述GPU平台上运行经过参数申明和参数引用点修改的函数;将函数运行后的计算结果的地址从所述GPU平台的地址空间转换为所述通用计算平台的地址空间。2.如权利要求1所述的基于GPU平台实现数据处理的方法,其特征在于,所述完成所述通用计算平台到所述GPU平台间的空间地址转换包括:为所述函数体中的输入型参数在所述GPU平台上的地址空间分配第一空间,并将所述输入型参数的数据复制到所述第一空间中;为所述函数体中的输出型参数在所述GPU平台上的地址空间分配第二空间。3.如权利要求2所述的基于GPU平台实现数据处理的方法,其特征在于,所述为所述函数体中的输入型参数在所述GPU平台上的地址空间分配第一空间,并将所述输入型参数的数据复制到所述第一空间中包括:当所述输入型参数为变长数组型参数时,在所述第一空间中将所述输入型参数复制为指向所述变长数组在所述通用计算平台中地址的数据。4.如权利要求1所述的基于GPU平台实现数据处理的方法,其特征在于,所述在所述GPU平台上运行经过参数申明和参数引用点修改的函数包括:根据自定义设置,在所述GPU平台上启动运行所述函数的线程的维度。5.如权利要求1所述的基于GPU平台实现数据处理的方法,其特征在于,所述通用计算平台为CPU平台。6.如权利要求1所述的基于GPU平台实现数据处理的方法,其特征在于,所述基于GPU平台实现数据处理的方法适用于对剂量的计算。7.如权利要求6所述的基于GPU平台实...

【专利技术属性】
技术研发人员:万天敏周婧劼
申请(专利权)人:上海联影医疗科技有限公司
类型:发明
国别省市:上海;31

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

1