数据运算的加速方法、装置、终端及可读存储介质制造方法及图纸

技术编号:19216099 阅读:30 留言:0更新日期:2018-10-20 06:51
本发明专利技术实施例公开了一种数据运算的加速方法、装置、终端及可读存储介质,方法包括:读取各存储单元内待运算的数据组,将读取的数据组缓存至GPU,调用GPU对缓存的数据组进行并行运算,其中,上述单个存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组。相较于现有技术而言,本发明专利技术实施例在运算过程中,减少了运算过程中数据读取的次数,同时还能够有效的提升待运算数据的运算速度,另外由于本发明专利技术实施例将运算过程从CPU转移到了GPU上,因此还可以降低CPU的占用率,保障终端的正常运行。

【技术实现步骤摘要】
数据运算的加速方法、装置、终端及可读存储介质
本专利技术涉及人工智能
,尤其涉及一种数据运算的加速方法、装置、终端及可读存储介质。
技术介绍
随着AI(ArtificialIntelligence,人工智能)技术的飞速发展,许多AI项目开始在终端上落地。目前,大多数的AI项目是基于前馈神经网络的,前馈神经网络有一个输入层和一个输出层,从输入层开始,经过一系列的计算层,最后产生输出。在计算过程中,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层.各层间没有反馈,因此前馈神经网络的性能瓶颈主要集中在各个层的运算上。目前,业界主要是基于CPU(CentralProcessingUnit,中央处理器)来实现各个层的运算,但对于数据规模较大、网络模型较复杂的高计算强度场景,利用CPU则运算速度比较慢,并且运算过程还会大量的占用CPU,影响终端的正常运行。
技术实现思路
本专利技术实施例的主要目的在于提供一种数据运算的加速方法、装置、终端及可读存储介质,可以解决现有技术中前馈神经网络的运算过程速度较慢,且会影响终端正常运行的技术问题。为实现上述目的,本专利技术实施例第一方面提供一种数据运算的加速方法,该方法包括:读取各存储单元内待运算的数据组,单个所述存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组;将读取的所述数据组缓存至GPU(GraphicsProcessingUnit,图形处理器);调用所述GPU对所述数据组进行并行运算。为实现上述目的,本专利技术实施例第二方面提供一种数据运算的加速装置,该装置包括:读取模块,用于读取各存储单元内待运算的数据组,单个所述存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组;存储模块,用于将读取的所述数据组缓存至GPU;运算模块,用于调用所述GPU对所述数据组进行并行运算。为实现上述目的,本专利技术实施例第三方面提供一种终端,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,该计算机程序为数据运算的加速程序,所述处理器执行所述计算机程序时,实现本专利技术实施例第一方面提供的数据运算的加速方法中的各个步骤。为实现上述目的,本专利技术实施例第四方面提供一种存储介质,其上存储有计算机程序,该计算机程序为数据运算的加速程序,所述计算机程序被处理器执行时,实现本专利技术实施例第一方面提供的数据运算的加速方法中的各个步骤。本专利技术实施例所提供的数据运算的加速方法,包括:读取各存储单元内待运算的数据组,将读取的数据组缓存至GPU,调用该GPU对上述数据组进行并行运算,其中,上述单个存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组。相较于现有技术而言,由于本专利技术实施例在运算过程中,能够同时读取待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组,而不是分别读取各个矩阵数据中的各个数据元素,从而减少了运算过程中数据读取的次数,同时由于GPU具有极佳的并行计算能力,利用GPU对上述数据组进行并行运算能够有效缩短计算时间,因此本专利技术实施例可以有效的提升前馈神经网络的运算速度,另外由于本专利技术实施例将运算过程从CPU转移到了GPU上,因此可以降低CPU的占用率,保障终端的正常运行。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a为本专利技术实施例中前馈神经网络的结构示意图;图1b为本专利技术实施例中数据运算的加速方法的系统架构示意图;图2a为本专利技术实施例中数据运算的加速方法的应用场景示意图;图2b为本专利技术实施例中数据运算的加速方法在视频聊天中的应用场景示意图;图3为本专利技术实施例中数据运算的加速方法的步骤流程示意图;图4为本专利技术实施例中数据运算的加速方法的另一步骤流程示意图;图5为本专利技术实施例中数据元素的存储方式示意图;图6为本专利技术实施例中数据运算的加速装置的程序模块示意图;图7为本专利技术实施例中数据运算的加速装置的另一程序模块示意图;图8为本专利技术实施例中终端80的结构示意图。具体实施方式为使得本专利技术的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而非全部实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在现有技术中,受CPU本身的结构特点,基于CPU来实现对前馈神经网络各个层的运算时,存在运算速度较慢,且CPU占有率较高的技术问题。为了解决上述问题,本专利技术实施例提供了一种数据运算的加速方法,该方法在前馈神经网络的运算过程中,能够同时读取待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组,而不是分别读取各个矩阵数据中的各个数据元素,从而减少了运算过程中数据读取的次数,同时由于GPU具有极佳的并行计算能力,利用GPU对上述数据组进行并行运算能够有效缩短计算时间,因此可以有效的提升前馈神经网络的运算速度,另外通过将运算过程从CPU转移到了GPU上,还可以降低CPU的占用率,保障终端的正常运行。其中,前馈神经网络是一种较简单的神经网络,各神经元分层排列,其中第一层称为输入层,最后一层为输出层.中间为隐含层,简称隐层,隐层可以是一层,也可以是多层。为了更好的理解本专利技术,请参照图1a、图1a为本专利技术实施例中前馈神经网络的结构示意图。其中,每个神经元只与前一层的神经元相连,各神经元从输入层开始,接收前一层的输入,并输出给下一层.各层间没有反馈。常见的前馈神经网络包括感知器网络、BP(BackPropagation,反向传播)网络、RBF(RadialBasisFunction,径向基函数)网络。其中,感知器网络是最简单的前馈神经网络,它主要用于模式分类,也可用在基于模式分类的学习控制和多模态控制中,其可分为单层感知器网络和多层感知器网络;BP网络是指连接权调整采用了反向传播学习算法的前馈网络,与感知器网络不同之处在于,BP网络的神经元变换函数采用了S形函数(Sigmoid函数),因此输出量是0~1之间的连续量,可实现从输入到输出的任意的非线性映射;RBF网络是指隐含层神经元由RBF神经元组成的前馈网络,RBF神经元是指神经元的变换函数为RBF(RadialBasisFunction,径向基函数)的神经元,典型的RBF网络由三层组成:一个输入层,一个或多个由RBF神经元组成的RBF层(隐含层),一个由线性神经元组成的输出层。鉴于GPU是针对向量计算进行了优化的高度并行的数据流处理器,有着CPU无法比拟的强大浮点运算能力,适合于算法密集、高度并行、控制简单、分多个阶段执行的运算过程。其工作原理是通过纹理或全局存储器读入数据,然后触发GPU产生大量片段,每个片段都可以被并行处理,结果另保存于输出纹理中,因此,本专利技术实施例中,可以将上述前馈神经网络各个层中的运算转移到GPU,从而达到提高运算速度的目的。本专利技术实施例中,需要本文档来自技高网...

【技术保护点】
1.一种数据运算的加速方法,其特征在于,所述方法包括:读取各存储单元内待运算的数据组,单个所述存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组;将读取的所述数据组缓存至图形处理器;调用所述图形处理器对所述数据组进行并行运算。

【技术特征摘要】
1.一种数据运算的加速方法,其特征在于,所述方法包括:读取各存储单元内待运算的数据组,单个所述存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组;将读取的所述数据组缓存至图形处理器;调用所述图形处理器对所述数据组进行并行运算。2.如权利要求1所述的方法,其特征在于,所述读取各存储单元内待运算的数据组的步骤之前还包括:读取前馈神经网络的各个数据通道中的矩阵数据;将各个矩阵数据中位于相同位置的数据元素作为一个数据组存储在预置存储阵列中的同一存储单元。3.如权利要求2所述的方法,其特征在于,所述读取各存储单元内待运算的数据组的步骤包括:在执行读取操作时,从所述存储阵列中选择连续的N个存储单元,N为正整数;读取已选择的所述N个存储单元内存储的数据组。4.如权利要求3所述的方法,其特征在于,所述从所述存储阵列中选择连续的N个存储单元的步骤之前还包括:确定所述存储阵列的各行存储单元中待选择的存储单元的数量;当所述存储阵列的各行存储单元中待选择的存储单元的数量不为N的倍数时,在各行存储单元的尾部添加若干数量的空白存储单元,使所述存储阵列的各行存储单元中待选择的存储单元的数量为N的倍数。5.如权利要求1至4任意一项所述的方法,其特征在于,所述调用所述图形处理器对所述数据组进行并行运算的步骤包括:加载预置的开放运算语言库;利用所述开放运算语言库调用预置的核函数,并基于所述核函数对缓存至图形处理器的各个数据组进行并行运算。6.如权利要求5所述的方法,其特征在于,所述利用所述核函数对缓存至图形处理器的各个数据组进行并行运算的步骤之后还包括:读取所述图形处理器中各个数据组运算后的输出数据;转换读取到的输出数据的格式,使读取到的输出数据的格式与前馈神经网络中的各个矩阵数据的格式相同。7.一种数据运算的加速装置,其特征在于,所述装置包括:读取模块,用于读取各存储单元内待运算的数据组,单个所述存储单元中已存储待运算的各个矩阵数据中,位于相同位置的数据元素构成的数据组;存储模块,用于将读取的所述数据组缓存至图形处理器;运...

【专利技术属性】
技术研发人员:尚海豹李昊沅左小祥周蔚李峰程君
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1