一种基于gpu的地理信息数据处理的方法、设备和系统的制作方法

文档序号:6431607阅读:165来源:国知局
专利名称:一种基于gpu的地理信息数据处理的方法、设备和系统的制作方法
技术领域
本发明涉及地理信息数据处理领域,尤其涉及一种基于GPU的地理信息数据处理的方法、设备和系统。
背景技术
地理信息系统中,地理信息数据的处理常常要用到显卡的GPU (GraphicProcessing Unit,图形处理器)编程。GPU是相对于CPU的一个概念,由于在现代的计算机中(特别是家用系统,游戏的发烧友)图形的处理变得越来越重要,需要一个专门的图形的核心处理器。GPU使显卡减少了对CPU的依赖,并进行部分原本CPU的工作,尤其是在图形 数据处理、3D图形处理时。地理信息数据的数据量非常大,而且非常复杂,尤其是三维地理信息数据。三维地理信息数据包含复杂的空间信息,对三维地理信息数据进行处理时,将涉及双精度浮点数据。在IEEE754国际标准中,常用的浮点数据有两种格式(I)单精度浮点数据(Single):用来表示带有小数部分的实数,一般用于科学计算。占用4个字节(32位)存储空间,包括符号位I位,阶码8位,尾数23位。其数值范围为3. 4E-38 3. 4E+38,单精度浮点数据最多有7位十进制有效数字。(2)双精度浮点数据(double):用8个字节(64位)存储空间,包括符号位I位,阶码11位,尾数52位。其数值范围为I. 7E-308 I. 7E+308,双精度浮点数据最多有15或16位十进制有效数字。在实现本发明的过程中,发明人发现现有技术中存在以下缺点现有的很多显卡不支持双精度浮点数据,只支持单精度浮点数据,不满足处理地理信息数据对数据精度的要求。

发明内容
本发明实施例提供了一种基于GPU的地理信息数据处理的方法、设备和系统,通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。本发明实施例提供了一种基于GPU的地理信息数据处理的方法,包括以下步骤接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据;根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果;根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据;根据所述归一单精度浮点数据处理所述地理信息数据。
所述双精度浮点数据为64位浮点数据。还包括所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶;所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。本发明实施例提供了一种基于GPU的地理信息数据处理的设备,包括单精度浮点数据接收单元,用于接收主机处理器拆分所述双精度浮点数据得到的 主体单精度浮点数据和误差单精度浮点数据;单精度浮点数据运算单元,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果;归一单精度浮点数据生成单元,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据;地理信息数据处理单元,用于根据所述归一单精度浮点数据处理所述地理信息数据。所述双精度浮点数据为64位浮点数据。还包括所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶;所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。本发明实施例提供了本发明实施例提供了一种基于GPU的地理信息数据处理的系统,包括单精度GPU,包括单精度浮点数据接收单元,用于接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据;单精度浮点数据运算单元,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果;归一单精度浮点数据生成单元,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据;地理信息数据处理单元,用于根据所述归一单精度浮点数据处理所述地理信息数据。主机处理器,包括地理信息数据获取单元,用于获取地理信息数据,所述地理信息数据包含双精度浮点数据;
双精度浮点数据拆分单元,用于拆分所述双精度浮点数据得到主体单精度浮点数据和误差单精度浮点数据;数据发送单元,用于将所述主体单精度浮点数据和所述误差单精度浮点数据发送给所述单精度GPU。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图I是本发明实施例中一种基于GPU的地理信息数据处理的方法流程图;图2是本发明实施例中一种基于GPU的地理信息数据处理的方法具体流程图;图3是本发明实施例中一种基于GPU的地理信息数据处理的设备结构图;图4是本发明实施例中一种基于GPU的地理信息数据处理的系统结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例一提供了一种基于GPU的地理信息数据处理的方法,如图I所示,包括以下步骤步骤S101,接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据。步骤S102,根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果。步骤S103,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据。步骤S104,根据所述归一单精度浮点数据处理所述地理信息数据。所述双精度浮点数据为64位浮点数据。还包括所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶;所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在GPU下的地理信息数据处理,并且提高了处理的效率。
本发明实施例二提供了一种基于GPU的地理信息数据处理的方法,如图2所示,包括以下步骤步骤S201,主机处理器拆分所述双精度浮点数据得到主体单精度浮点数据和误差单精度浮点数据,所述双精度浮点数据为64位浮点数据。设双精度浮点数据为d,则拆分后的两个单精度浮点数据为fl、f2,其中fl用来表示双精度浮点数据的符号位和阶,f2双精度浮点数据的尾数部分。所述主机处理器拆份所述双精度浮点数据具体公式(I)、(2)fCpul = d(I)fCpu2 = (d_fl)*le6 (2)所述主机处理把拆分结果发送给单精度GPU。 步骤S202,接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据。步骤S203,根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果fResult. X和误差单精度浮点数据运算结果 fResult. y。步骤S204,根据所述主体单精度浮点数据运算结果fResult. x和所述误差单精度浮点数据fResult. y生成归一单精度浮点数据f,如公式(3)f = fResult. x+fResult. y*le_6(3)步骤S205,根据所述归一单精度浮点数据f处理所述地理信息数据。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。本发明实施例三提供了一种基于GPU的地理信息数据处理的设备,如图3所示,包括单精度浮点数据接收单元301,用于接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据;单精度浮点数据运算单元302,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果;归一单精度浮点数据生成单元303,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据;地理信息数据处理单元304,用于根据所述归一单精度浮点数据处理所述地理信息数据。所述双精度浮点数据为64位浮点数据。还包括所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶;所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。本发明实施例四提供了一种基于GPU的地理信息数据处理的系统,如图4所示,包括单精度GPU 400,包括单精度浮点数据接收单元401,用于接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据;单精度浮点数据运算单元402,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果;归一单精度浮点数据生成单元403,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据; 地理信息数据处理单元404,用于根据所述归一单精度浮点数据处理所述地理信息数据。主机处理器410,包括地理信息数据获取单元411,用于获取地理信息数据,所述地理信息数据包含双精度浮点数据;双精度浮点数据拆分单元412,用于拆分所述双精度浮点数据得到主体单精度浮点数据和误差单精度浮点数据;数据发送单元413,用于将所述主体单精度浮点数据和所述误差单精度浮点数据发送给所述单精度GPU。本发明实施例的技术方案带来的有益效果如下通过将主机处理器将双精度浮点数据拆分,单精度GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在单精度GPU下的地理信息数据处理,并且提高了处理的效率。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以可借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是⑶-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于GPU的地理信息数据处理的方法,所述地理信息数据包含双精度浮点数据,其特征在于,包括以下步骤 接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据; 根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果; 根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据; 根据所述归一单精度浮点数据处理所述地理信息数据。
2.如权利要求I所述一种基于GPU的地理信息数据处理的方法,其特征在于,所述双精度浮点数据为64位浮点数据。
3.如权利要求I所述一种基于GPU的地理信息数据处理的方法,其特征在于,还包括 所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶; 所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。
4.一种基于GPU的地理信息数据处理的设备,其特征在于,包括 单精度浮点数据接收单元,用于接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据; 单精度浮点数据运算单元,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果; 归一单精度浮点数据生成单元,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据; 地理信息数据处理单元,用于根据所述归一单精度浮点数据处理所述地理信息数据。
5.如权利要求4所述一种基于GPU的地理信息数据处理的设备,其特征在于,所述双精度浮点数据为64位浮点数据。
6.如权利要求4所述一种基于GPU的地理信息数据处理的设备,其特征在于,还包括 所述主体单精度浮点数据为所述双精度浮点数据的符号位和阶; 所述误差单精度浮点数据为所述双精度浮点数据的尾数部分。
7.一种基于GPU的地理信息数据处理的系统,其特征在于,包括 GI3U,包括 单精度浮点数据接收单元,用于接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据; 单精度浮点数据运算单元,用于根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,生成主体单精度浮点数据运算结果和误差单精度浮点数据运算结果; 归一单精度浮点数据生成单元,根据所述主体单精度浮点数据运算结果和所述误差单精度浮点数据生成归一单精度浮点数据; 地理信息数据处理单元,用于根据所述归一单精度浮点数据处理所述地理信息数据。
主机处理器,包括地理信息数据获取单元,用于获取地理信息数据,所述地理信息数据包含双精度浮点数据; 双精度浮点数据拆分单元,用于拆分所述双精度浮点数据得到主体单精度浮点数据和误差单精度浮点数据; 数据发送单元 ,用于将所述主体单精度浮点数据和所述误差单精度浮点数据发送给所述 GPU。
全文摘要
本发明实施例公开了一种基于GPU的地理信息数据处理的方法、设备和系统,所述方法包括以下步骤接收主机处理器拆分所述双精度浮点数据得到的主体单精度浮点数据和误差单精度浮点数据;根据预定的运算规则对所述主体单精度浮点数据和所述误差单精度浮点数据进行运算,运算结果生成归一单精度浮点数据;根据所述归一单精度浮点数据处理所述地理信息数据。本发明的实施例中,通过将主机处理器将双精度浮点数据拆分,GPU对拆分后的单精度浮点数据进行运算,根据运算结果处理地理信息数据,实现在GPU下的地理信息数据处理,并且提高了处理的效率。
文档编号G06T1/20GK102750663SQ201110249559
公开日2012年10月24日 申请日期2011年8月26日 优先权日2011年8月26日
发明者胡守刚 申请人:新奥特(北京)视频技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1