一种基于字符编码转换的gpu内文本处理的方法及装置的制造方法

文档序号:9887607阅读:675来源:国知局
一种基于字符编码转换的gpu内文本处理的方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及GPU数据处理技术领域,特别是涉及一种基于字符编码转换的GPU内文本处理的方法及装置。
【背景技术】
[0002]近几年图形处理器(Graphics Processing Unit,GPU)的出现,对高性能运算领域发展起到了不可估量的推动作用。GPU的强大运算性能,使它获得了比传统解决方案更多的成功案例,目前,GPU数据处理已经被越来越多的运用到大数据运算和机器学习的领域中。
[0003]在数据处理方面,GPU相对于中央处理器(Central Processing Unit,CPU)在硬件架构上具有明显优势,特别是浮点数的处理能力。目前,GPU也主要被运用于图形处理、视频转码或者语音分析等领域。在对文本进行处理时主要采用CPU,但由于CPU架构的原因,CPU对文本的处理速度较差,影响文本处理的效率。

【发明内容】

[0004]本发明实施例的目的在于提供一种基于字符编码转换的GPU内文本处理的方法及装置,以实现运用GPU的浮点数处理能力,提高文本处理的速度,达到文本分析处理速度的显者提尚。
[0005]为达到上述目的,本发明实施例公开了一种基于字符编码转换的GPU内文本处理的方法,所述方法包括:
[0006]获取输入文本中的每个字符的二进制编码形式;
[0007]判断所述二进制编码形式是否与预设的编码形式一致;
[0008]如果不一致,采用所述预设的编码形式对所述字符进行二进制编码;将编码后的字符转换为二进制浮点数类型;如果一致,则将所述字符转换为二进制浮点数类型;
[0009]将转换为所述二进制浮点数类型的字符提交给GPU进行计算处理。
[0010]优选的,所述预设的编码形式包括以下编码形式中的一种:
[0011]Unicode编码形式、GB2312编码形式、GBK编码形式或GB18030编码形式。
[0012]优选的,所述判断所述二进制编码形式是否与预设的编码形式一致之前,所述方法还包括:
[0013]获取GPU支持的二进制浮点数类型;
[0014]所述将编码后的字符转换为二进制浮点数类型,包括:
[0015]将所述编码后的字符转换为所述GPU支持的二进制浮点数类型;
[0016]所述将所述字符转换为二进制浮点数类型,包括:
[0017]将所述字符转换为所述GPU支持的二进制浮点数类型。
[0018]优选的,所述获取GPU支持的二进制浮点数类型包括:
[0019]通过GPU计算框架提供的API,获取GPU支持的二进制浮点数类型。
[0020]优选的,所述将编码后的字符转换为二进制浮点数类型包括:[0021 ]将编码后的字符转换为预设的二进制浮点数类型;
[0022]所述将所述字符转换为二进制浮点数类型包括:
[0023]将所述字符转换为预设的二进制浮点数类型。
[0024]优选的,所述将转换为所述二进制浮点数类型的字符提交给GPU进行计算处理包括:
[0025]判断GPU支持的二进制浮点数类型的长度是否不小于所述字符转换后的二进制浮点数类型的长度;
[0026]如果是,则将转换为所述二进制浮点数类型的字符提交给GPU,GPU直接对该转换后的二进制浮点数类型的字符进行处理;
[0027]否则,对所述转换为所述二进制浮点数类型的字符进行拆分,将所述二进制浮点数类型的字符拆分为所述GPU能够容纳的长度,并将拆分后的二进制浮点数类型的字符发送到所述GPU进行处理。
[0028]优选的,所述GPU支持的二进制浮点数类型包括:半精度二进制浮点数型、单精度二进制浮点数型和双精度二进制浮点数型。
[0029]本发明还提供了一种基于字符编码转换的GPU内文本处理的装置,所述装置包括:
[0030]字符编码获得单元,用于获取输入的每个文本中字符的二进制编码形式;
[0031 ]编码判断单元,用于判断所述二进制编码形式是否与预设的编码形式一致,如果所述二进制编码形式与预设的编码形式不一致,则触发编码配置单元,如果所述二进制编码形式与预设的编码形式一致,则触发编码转换单元;
[0032]所述编码配置单元,用于采用所述预设的编码形式对所述字符进行二进制编码;
[0033]所述编码转换单元,用于将编码后的字符或所述字符转换为二进制浮点数类型;
[0034]字符提交处理单元,用于将转换为所述二进制浮点数类型的字符提交给GPU进行计算处理。
[0035]优选的,所述装置还包括:GPU获得单元,用于获取GPU支持的二进制浮点数类型;
[0036]所述编码转换单元,具体用于将所述编码后的字符转换为所述GPU支持的二进制浮点数类型;或,将所述字符转换为所述GPU支持的二进制浮点数类型。
[0037]优选的,所述编码转换单元,具体用于将编码后的字符或所述字符转换为预设的二进制浮点数类型。
[0038]优选的,所述字符提交处理单元包括:GPU参数判断子单元、字符拆分子单元和字符处理子单兀;
[0039]所述GPU参数判断子单元,用于判断GPU支持的二进制浮点数类型的长度是否不小于所述字符转换后的二进制浮点数类型的长度,如果否,则触发所述字符拆分子单元,如果是,则触发所述字符处理子单元;
[0040]所述字符拆分子单元,用于对所述转换为所述二进制浮点数类型的字符进行拆分,将所述二进制浮点数类型的字符拆分为所述GHJ能够容纳的长度,并将拆分后的二进制浮点数类型的字符发送到所述GPU进行处理;
[0041]所述字符处理子单元,用于将转换为所述二进制浮点数类型的字符提交给GPU,GPU直接对该转换后的二进制浮点数类型的字符进行处理。
[0042]本发明实施例提供的一种基于字符编码转换的GPU内文本处理的方法及装置,通过提供一种字符编码转换方法,能够将文本中的字符转化为GPU能够处理的二进制浮点数类型,有效的利用GPU的浮点数处理能力。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本发明实施例提供的一种基于字符编码转换的GHJ内文本处理的方法流程示意图;
[0045]图2为本发明实施例提供的另一种基于字符编码转换的GPU内文本处理的方法流程不意图;
[0046]图3为本发明实施例提供的一种基于字符编码转换的GHJ内文本处理的装置结构示意图;
[0047]图4为本发明实施例提供的另一种基于字符编码转换的GPU内文本处理的装置结构示意图。
【具体实施方式】
[0048]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]本发明实施例提供的一种基于字符编码转换的GPU内文本处理的方法及装置,通过提供一种字符编码方法,将文本中的字符转化为GHJ能够处理的二进制浮点数类型,进而有效的利用GPU的浮点数处理能力。
[0050]图1为本发明实施例提供的一种基于字符编码转换的GHJ内文本处理的方法流程示意图,包括如下步骤:
[0051 ] SlOl、获取输入文本中的每个字符的二进制编码形式。
[0052]所述每个字符的二进制编码形式可以为ASCII编码形式、Unicode编码形式或其他编码形式,本实施例并不限定文本中每个字符的二进制编码形式,只要是文本中所使用的二进制编码即可。
[0053]文本中的字符编码方式有多种,而且也形成了几种较为规范化和统一的编码方式,便于后续对文本的一些处理,例如,Unicode编码形式、GB2312编码形式、GBK编码形式和GB18030编码形式等形式。要对文本中字符进行处理需要先确认文本中字符的编码形式,获取文本中字符的编码形式的方式有很多种,通常为,通过已知的条件获取文本中的每个字符的二进制编码形式,例如,常用的识别字符编码形式的插件,通过这类插件来确定是Unicode编码形式还是其他编码形式。获取字符的二进制编码方式属于现有技术,本实施例并不限定如何获得如何获取输入文本中的每个字符的二进制编码形式,只要能获取输入文本中的每个字符的二进制编码形式即可。
[0054]S102、判断所述二进制编码形式是否与预设的编码形式一致,如果不一致,进行步骤S103,如果一致,直接跳过步骤S103进行步骤S104。
[0055]所述预设的编码形式为一种统一的编码形式,所述预
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1