CN110018851A - 数据处理方法、相关设备及计算机可读介质 - Google Patents

数据处理方法、相关设备及计算机可读介质 Download PDF

Info

Publication number
CN110018851A
CN110018851A CN201910259611.0A CN201910259611A CN110018851A CN 110018851 A CN110018851 A CN 110018851A CN 201910259611 A CN201910259611 A CN 201910259611A CN 110018851 A CN110018851 A CN 110018851A
Authority
CN
China
Prior art keywords
data
handled
arithmetic operation
operational order
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910259611.0A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to CN201910259611.0A priority Critical patent/CN110018851A/zh
Publication of CN110018851A publication Critical patent/CN110018851A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种计算设备,包括:包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行特定的数据处理方法,以节省计算资源、提升数据处理性能和效率。

Description

数据处理方法、相关设备及计算机可读介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、相关设备及计算机可读介质。
背景技术
在数据存储领域中,为实现数据的准确读取,数据需按照特定格式摆放。其中,数据摆放是指数据在内存中重排列,便于计算设备更快地处理数据,以提升数据存储性能、减少数据存储丢失。在数据摆放过程中还涉及一些基本的数据操作,例如维度转换、类型转换等等。
现有技术中,计算设备在进行数据摆放时,该数据摆放涉及的每个操作需单独使用一个操作指令来封装实现。当该数据摆放涉及多个操作时,在实际应用中会使用到多个操作指令,且还涉及内存数据的多次读写操作,这将浪费计算资源,降低数据处理效率,影响数据处理性能。
发明内容
本发明实施例提供一种数据处理方法,能够使用一个操作指令在数据摆放过程中完成数据的多操作处理,从而有利于节省计算资源、提升数据处理性能和处理效率。
第一方面,本发明实施例提供了一种数据处理方法,该方法包括:计算设备获取待搬运数据的操作指令,该操作指令用于指示对待搬运数据进行搬运,同时还指示对待搬运数据进行相应地运算操作,以搬运该运算操作后的待搬运数据。该操作指令所指示的运算操作包括以下中的任一项或多项的组合:数据转置、数据对齐、数据分段以及数据类型转换,该操作指令中携带有待搬运数据的源地址和目的地址。进一步计算设备根据该操作指令的指示,完成待搬运数据的运算操作,并将该运算操作后的待搬运数据从源地址搬运到目的地址。
在一些可能的实施例中,计算设备根据操作指令所指示的运算操作,对操作指令中携带的数据参数进行处理,以获得处理后的数据参数。该处理后的数据参数用于表征待搬运数据的操作序列,该数据参数至少包括待搬运数据的源地址和目的地址。进而计算设备根据该处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的待搬运数据,并完成该运算操作后的待搬运数据从源地址搬运到目的地址。
在一些可能的实施例中,操作指令中携带的数据参数还可包括以下中的任一项或多项的组合:源数据大小、目的数据大小、源数据类型和目的数据类型。其中,该源数据大小用于指示从源地址开始所需搬运的数据大小,目的数据大小用于指示从目的地址开始所支持存储的数据大小,源数据类型用于指示从源地址开始所需搬运的数据的类型,目的数据类型用于指示从目的地址开始所支持存储的数据的类型。
在一些可能的实施例中,当运算操作为数据转置时,计算设备根据操作指令中数据转置所指示的行列转换,对数据参数进行转换处理,以获得处理后的数据参数。进一步计算设备可根据该处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的待搬运数据。
在一些可能的实施例中,当运算操作为数据对齐时,该数据参数包括源数据大小和目的数据大小,且该目的数据大小大于源数据大小。相应地计算设备可根据操作指令中数据对齐操作所指示的对齐位数,对数据参数进行对齐处理,以获得至少一组处理后的数据参数,进而根据获得的处理后的数据参数对待搬运数据进行补位操作,以获得运算操作后的待搬运数据。
在一些可能的实施例中,当运算操作为数据分段时,计算设备可根据操作指令中数据分段操作所指示的分段位数,对数据参数进行分段处理,以获得至少一组处理后的数据参数,进而根据获得的处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的待搬运数据。
在一些可能的实施例中,当运算操作为数据类型转换时,数据参数包括源数据类型和目的数据类型,该源数据类型和目的数据类型不同。相应地计算设备将根据操作指令中数据转换类型的指示,将具备源数据类型指示的数据类型的待搬运数据转换为目的数据类型指示的数据类型,以获得运算操作后的数据参数。
第二方面,本发明实施例提供了一种计算设备,该计算设备包括用于执行上述第一方面的方法的单元。
第三方面,本发明实施例提供了另一种计算设备,包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
通过实施本发明实施例,能够解决现有针对多操作的数据处理方案中存在的计算资源浪费、数据处理性能和效率降低等问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据处理方法的流程示意图。
图2是本发明实施例提供的一种计算设备的结构示意图。
图3是本发明实施例提供的另一种计算设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为解决现有针对多操作的数据处理方案中存在的计算资源浪费、数据处理效率和性能较低等问题,本申请特提出另一种数据处理方法以及所述方法适用的相关设备。请参见图1,是本发明实施例提供的一种数据处理方法的流程示意图。如图1所示的方法包括如下实施步骤:
步骤S102、计算设备获取待搬运数据的操作指令,该操作指令用于对待搬运数据进行相应地运算操作,该运算操作包括以下中的至少一项:数据转置、数据对齐、数据分段以及数据类型转换,该操作指令中携带待搬运数据的源地址和目的地址。
本申请中,计算设备通过一个操作指令可实现待搬运数据的多运算操作,该运算操作具体可包括以下中的任一项或多项的组合:数据转置、数据对齐、数据分段以及数据类型转换。
该操作指令中携带有至少一个数据参数,该数据参数用于表征或反映计算设备对待搬运数据进行相应地运算操作。该数据参数至少包括待搬运数据的源地址和目的地址,可选地还可包括以下中的任一项或多项的组合:源数据大小、目的数据大小、源数据类型以及目的数据类型。其中,源地址是指待搬运数据存储的起始地址,目的地址是指待搬运数据所需搬运的目的地址,源数据大小是指计算设备从源地址开始所需搬运的数据的大小,目的数据大小是指计算设备从目的地址开始所支持存储的数据的大小,源数据类型是指源地址开始所需搬运的数据的类型,目的数据类型是指目的地址开始所支持存储的数据的大小。
在实际应用中,计算设备在进行数据摆数时,会调用预存的高性能摆数操作函数,通过该函数实现操作指令的相关功能,例如对待搬运数据的搬运操作以及运算操作等,以高性能地完成待搬运数据的数据摆放。该操作指令包括但不限于向量指令、卷积指令、乘法指令、乘加指令或其他自定义设置的运算指令,并不做限定。
步骤S104、计算设备根据该操作指令,完成待搬运数据的运算操作,并将运算操作后的待搬运数据从源地址搬运到目的地址。
计算设备根据该操作指令的指示,先对待搬运数据进行相应地运算操作,以获得运算操作后的待搬运数据。然后将运算操作后的待搬运数据从源地址搬运到目的地址处。
在实际应用中,为提升数据处理效率、减少摆数过程中数据的读写次数,计算设备可通过操作序列来记录并实现待搬运数据的数据摆放。具体的,计算设备可根据该操作指令指示的运算操作,对操作指令中携带的数据参数进行处理,以获得处理后的数据参数。该处理后的数据参数用于表征待搬运数据的操作序列,即指示如何对待搬运数据进行操作,以完成操作指令所指示的运算操作。进一步计算设备根据处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的待搬运数据,并完成运算操作后的待搬运数据从源地址搬运到目的地址。
作为一种可能的实施方式,当操作指令用于指示对待搬运数据进行数据转置时,即操作指令指示的运算操作为数据转置时,计算设备根据数据转置所指示的行列转换,对操作指令中携带的数据参数进行相应地转换处理,以获得处理后的数据参数。进而根据该处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的数据。
举例来说,假设待搬运数据为四维图像数据N×C×H×W,其中N表示图像数量,H表示图像高度,W表示图像宽度,C表示图像通道数。以图像为RGB彩色图像为例,C为3。在数据摆放过程中,操作指令用于指示对待搬运数据进行数据转置,例如这里具体指示将待搬运数据N×C×H×W转换为N×H×W×C的数据。相应地,计算设备获得该操作指令后,可根据该操作指令中数据转置操作的指示,将四维待搬运数据N×C×H×W转换为N×H×W×C的数据,从而获得运算操作后的待搬运数据N×H×W×C,并完成待搬运数据的摆放。以待搬运数据中的一个源数据(n,c,h,w)为例,计算设备可根据数据转置操作的具体指示,将源数据(n,c,h,w)移动到坐标为(n,h,w,c)处,从而实现源数据从(n,c,h,w)的源地址搬移至(n,h,w,c)的目的地址,实现源数据的高性能搬运或摆数。
作为一种可能的实施方式,当操作指令用于指示对待搬运数据进行数据对齐,即操作指令指示的运算操作为数据对齐时,该操作指令中携带的数据参数包括有源数据大小和目的数据大小,且目的数据大小需大于源数据大小,便于计算设备按照目的数据大小对源数据大小对应的源数据进行数据补齐。具体的,计算设备可根据数据对齐所指示的对齐位数,对数据参数进行对齐处理,以获得一组或多组处理后的数据参数,进一步可根据每组处理后的数据参数对待搬运数据进行补位操作,以获得运算操作后的待搬运数据,进而实现运算操作后的待搬运数据从源地址搬运到目的地址。
举例来说,计算设备获取的操作指令具体用于对待搬运数据1×1×2×510进行16位的数据对齐操作,该操作指令中携带有源地址src_offset、目的地址dst_offset、源数据大小src_size以及目的数据大小dst_size。其中,src_offset=dst_offset=0,src_size=510,dst_size大于src_size,表示需要对待搬运数据进行补位(通常补0)。相应地,计算设备获得操作指令后,根据该操作指令中数据对齐操作的指示,对操作指令中携带的数据参数进行16位(或16个)数据对齐,从而获得两组处理后的数据参数,该处理后的数据参数表征待搬运数据的操作序列。换句话说,经过16位数据对齐后,可获得两组操作序列,分别如下:
Src_offset=0,dst_offset=0,src_size=510,dst_size=512;
Src_offset=510,dst_offset=512,src_size=510,dst_size=512。
相应地,计算设备可按照上述两组操作序列对待搬运数据1×1×2×510进行重排列,以获得运算操作后的待搬运数据1×1×2×512,同时完成运算操作后的待搬运数据1×1×2×512的搬运或摆放。
作为另一种可能的实施方式,当操作指令用于指示对待搬运数据进行数据分段,即操作指令指示的运算操作为数据分段时,计算设备可根据该数据分段操作所指示的分段位数,对操作指令中携带的数据参数进行分段处理,以获得至少一组处理后的数据参数。进一步根据每组处理后的数据参数对待搬运数据进行重排列,以获得运算操作后的待搬运数据。
举例来说,引用上文数据对齐的例子,计算设备获得的操作指令还用于指示对待搬运数据1×1×2×510进行256位的数据分段操作。相应地,计算设备可根据数据分段操作的指示,对数据补齐后的数据参数进行256位的分段处理,以获得如下四组处理后的数据参数(也可称4组操作序列):
Src_offset=0,dst_offset=0,src_size=256,dst_size=256;
Src_offset=256,dst_offset=512,src_size=254,dst_size=256;
Src_offset=510,dst_offset=256,src_size=256,dst_size=256;
Src_offset=766,dst_offset=768,src_size=254,dst_size=256。
其中,如上每组操作序列中目的数据大小均为256,分段操作所要求的分段位数。相应地,计算设备可按照上述四组操作序列对数据对齐后的待搬运数据1×1×2×512进行重排列,以获得运算操作后的待搬运数据,同时实现运算操作后的待搬运数据的搬运。
作为另一种可能的实施方式,当操作指令用于指示对待搬运数据进行数据类型转换操作,即操作指令指示的运算操作为数据类型转换时,该操作指令中携带的数据参数包括源数据类型和目的数据类型。相应地,计算设备可根据数据类型转换所指示的类型转换,将待搬运数据原本具备的源数据类型所指示的数据类型转换为目的数据类型所指示的数据类型,以获得运算操作后的待搬运数据,进而实现运算操作后的待搬运数据的搬运。
举例来说,引用上文数据分段的例子,计算设备获得的操作指令还用于指示对待搬运数据进行数据类型转换,该操作指令中携带的数据参数还包括源数据类型和目的数据类型,其中源数据类型可为单精度浮点,目的数据类型可为半精度浮点。相应地,计算设备在对待搬运数据进行数据分段时,也可进行数据类型转换,从而获得如下四组操作序列:
Src_offset=0,dst_offset=0,src_size=256,dst_size=256,源数据类型为单精度浮点,目的数据类型为半精度浮点;
Src_offset=256,dst_offset=512,src_size=254,dst_size=256,源数据类型为单精度浮点,目的数据类型为半精度浮点;
Src_offset=510,dst_offset=256,src_size=256,dst_size=256,源数据类型为单精度浮点,目的数据类型为半精度浮点;
Src_offset=766,dst_offset=768,src_size=254,dst_size=256,源数据类型为单精度浮点,目的数据类型为半精度浮点。
需要说明的是,以上几种实施方式中介绍的操作指令所指示的运算操作可以单独使用,也可配合使用。当操作指令所指示的运算操作有两种及以上时,这多种运算操作的执行先后顺序并不做限定。例如,以操作指令所指示的运算操作包括数据分段和数据类型转换为例,计算设备可先对操作指令中携带的数据参数进行数据分段再进行数据类型转换,或者可先进行数据类型转换再进行数据分段,或者同时对数据参数进行数据分段和数据类型转换处理等,本申请不做限定。
通过实施本发明实施例,在数据摆数过程中能够通过使用一个操作指令实现待搬运数据的多运算操作,将待搬运数据的多操作合并为一个操作,通过非该操作指令携带的数据参数进行多运算操作,以保证整个摆数过程中仅涉及一次数据读写操作。相比于现有技术而言,能够大大减小数据读写次数,节省计算资源、提升数据处理效率和数据处理性能。
请参见图2,是本发明实施例提供的一种计算设备的结构示意图。如图2所示的计算设备200包括通信模块202和处理模块204。其中,
所述通信模块202用于获取待搬运数据的操作指令,所述操作指令用于对所述待搬运数据进行所述操作指令所指示的运算操作,所述运算操作包括以下中的至少一项:数据转置、数据对齐、数据分段以及数据类型转换,所述操作指令中携带所述待搬运数据的源地址和目的地址;
所述处理模块204用于根据所述操作指令,完成所述待搬运数据的运算操作,并将所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
在一些可能的实施例中,所述处理模块204具体用于根据所述操作指令所指示的运算操作,对所述操作指令中携带的数据参数进行处理,获得处理后的数据参数,所述处理后的数据参数用于表征所述待搬运数据的操作序列,所述数据参数至少包括所述待搬运数据的源地址和目的地址;根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据,并完成所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
在一些可能的实施例中,所述数据参数还包括以下中的至少一项:源数据大小、目的数据大小、源数据类型和目的数据类型,所述源数据大小用于指示从所述源地址开始所需搬运的数据大小,所述目的数据大小用于指示从所述目的地址开始所支持存储的数据大小,所述源数据类型用于指示从所述源地址开始所需搬运的数据的类型,所述目的数据类型用于指示从所述目的地址开始所支持存储的数据的类型。
在一些可能的实施例中,所述运算操作为数据转置,所述处理模块204具体用于根据所述数据转置所指示的行列转换,对所述数据参数进行转换处理,以获得处理后的数据参数;根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据。
在一些可能的实施例中,所述运算操作为数据对齐,所述数据参数包括所述源数据大小和所述目的数据大小,且所述目的数据大小大于所述源数据大小,所述处理模块204具体用于根据所述数据对齐所指示的对齐位数,对所述数据参数进行对齐处理,以获得至少一组处理后的数据参数;根据所述处理后的数据参数对所述待搬运数据进行补位操作,以获得所述运算操作后的待搬运数据。
在一些可能的实施例中,所述运算操作为数据分段,所述处理模块204具体用于根据所述数据分段所指示的分段位数,对所述数据参数进行分段处理,以获得至少一组处理后的数据参数;根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据。
在一些可能的实施例中,所述运算操作为数据类型转换,所述数据参数包括所述源数据类型和所述目的数据类型,且所述源数据类型和所述目的数据类型不同,则所述处理模块204具体用于根据所述数据类型转换所指示的类型转换,将所述待搬运数据具备的所述源数据类型所指示的数据类型转换为所述目的数据类型所指示的数据类型,以获得所述运算操作后的待搬运数据。
可选地,计算设备200还包括有存储模块206,其存储有用于实现计算设备200的相关操作的程序代码。在实际应用中,本发明实施例中的计算设备涉及的各模块或单元具体可通过软件程序或硬件实现。当由软件程序实现时,计算设备涉及的各模块或单元均为软件模块或软件单元,当由硬件实现时,计算设备涉及的各模块或单元可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合,本发明不做限定。
需要说明的,图2仅仅是本申请实施例的一种可能的实现方式,实际应用中,计算设备中还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述方法实施例中的相关阐述,这里不再赘述。
请参见图3,是本发明实施例提供的另一种计算设备的结构示意图。如图3所示的计算设备300包括一个或多个处理器301、通信接口302和存储器303,处理器301、通信接口302和存储器303可通过总线方式连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线304连接为例其中,该存储器303用于存储指令,该处理器301用于执行该存储器303存储的指令。该存储器303存储程序代码,且处理器301可以调用存储器303中存储的程序代码执行如下操作:
获取待搬运数据的操作指令,所述操作指令用于对所述待搬运数据进行所述操作指令所指示的运算操作,所述运算操作包括以下中的至少一项:数据转置、数据对齐、数据分段以及数据类型转换,所述操作指令中携带所述待搬运数据的源地址和目的地址;
根据所述操作指令,完成所述待搬运数据的运算操作,并将所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
关于本发明实施例中未示出或未描述的内容,具体可参见前述图1或图2所述实施例中的相关阐述,这里不再赘述。
应当理解,在本发明实施例中,所称处理器301可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
通信接口302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块或装置设备进行通信。例如,本申请实施例中通信接口302具体可用于获取待搬运数据的操作指令等。
存储器303可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器还可以包括上述种类的存储器的组合。存储器可用于存储一组程序代码,以便于处理器调用存储器中存储的程序代码以实现本发明实施例中涉及的上述各功能模块的功能。
需要说明的,图3仅仅是本发明实施例的一种可能的实现方式,实际应用中,计算设备还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述方法实施例中的相关阐述,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在处理器上运行时,图1所示的方法流程得以实现。
本发明实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,图1实施例中所示的方法流程得以实现。
所述计算机可读存储介质可以是前述任一实施例所述的计算设备的内部存储单元,例如计算设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算设备的外部存储设备,例如所述计算设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述客户端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述计算设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据处理方法,其特征在于,所述方法包括:
获取待搬运数据的操作指令,所述操作指令用于对所述待搬运数据进行所述操作指令所指示的运算操作,所述运算操作包括以下中的至少一项:数据转置、数据对齐、数据分段以及数据类型转换,所述操作指令中携带所述待搬运数据的源地址和目的地址;
根据所述操作指令,完成所述待搬运数据的运算操作,并将所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
2.根据权利要求1所述的方法,其特征在于,所述根据所述操作指令,完成所述待搬运数据的运算操作,并将所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址包括:
根据所述操作指令所指示的运算操作,对所述操作指令中携带的数据参数进行处理,获得处理后的数据参数,所述处理后的数据参数用于表征所述待搬运数据的操作序列,所述数据参数至少包括所述待搬运数据的源地址和目的地址;
根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据,并完成所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
3.根据权利要求2所述的方法,其特征在于,所述数据参数还包括以下中的至少一项:源数据大小、目的数据大小、源数据类型和目的数据类型,所述源数据大小用于指示从所述源地址开始所需搬运的数据大小,所述目的数据大小用于指示从所述目的地址开始所支持存储的数据大小,所述源数据类型用于指示从所述源地址开始所需搬运的数据的类型,所述目的数据类型用于指示从所述目的地址开始所支持存储的数据的类型。
4.根据权利要求3所述的方法,其特征在于,所述运算操作为数据转置,所述根据所述操作指令,完成所述待搬运数据的运算操作包括:
根据所述数据转置所指示的行列转换,对所述数据参数进行转换处理,以获得处理后的数据参数;
根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据。
5.根据权利要求3所述的方法,其特征在于,所述运算操作为数据对齐,所述数据参数包括所述源数据大小和所述目的数据大小,且所述目的数据大小大于所述源数据大小,则
所述根据所述操作指令,完成所述待搬运数据的运算操作包括:
根据所述数据对齐所指示的对齐位数,对所述数据参数进行对齐处理,以获得至少一组处理后的数据参数;
根据所述处理后的数据参数对所述待搬运数据进行补位操作,以获得所述运算操作后的待搬运数据。
6.根据权利要求3所述的方法,其特征在于,所述运算操作为数据分段,
所述根据所述操作指令,完成所述待搬运数据的运算操作包括:
根据所述数据分段所指示的分段位数,对所述数据参数进行分段处理,以获得至少一组处理后的数据参数;
根据所述处理后的数据参数对所述待搬运数据进行重排列,以获得所述运算操作后的待搬运数据。
7.根据权利要求3所述的方法,其特征在于,所述运算操作为数据类型转换,所述数据参数包括所述源数据类型和所述目的数据类型,且所述源数据类型和所述目的数据类型不同,则
所述根据所述操作指令,完成所述待搬运数据的运算操作包括:
根据所述数据类型转换所指示的类型转换,将所述待搬运数据具备的所述源数据类型所指示的数据类型转换为所述目的数据类型所指示的数据类型,以获得所述运算操作后的待搬运数据。
8.一种计算设备,其特征在于,包括通信模块和处理模块,其中,
所述通信模块,用于获取待搬运数据的操作指令,所述操作指令用于对所述待搬运数据进行所述操作指令所指示的运算操作,所述运算操作包括以下中的至少一项:数据转置、数据对齐、数据分段以及数据类型转换,所述操作指令中携带所述待搬运数据的源地址和目的地址;
所述处理模块,用于根据所述操作指令,完成所述待搬运数据的运算操作,并将所述运算操作后的待搬运数据从所述源地址搬运到所述目的地址。
9.一种计算设备,其特征在于,包括处理器、存储器以及总线,所述处理器和所述存储器通过所述总线连接,所述存储器用于存储指令,所述处理器用于调用所述存储器中存储的指令,用于执行如上权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
CN201910259611.0A 2019-04-01 2019-04-01 数据处理方法、相关设备及计算机可读介质 Pending CN110018851A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910259611.0A CN110018851A (zh) 2019-04-01 2019-04-01 数据处理方法、相关设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910259611.0A CN110018851A (zh) 2019-04-01 2019-04-01 数据处理方法、相关设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN110018851A true CN110018851A (zh) 2019-07-16

Family

ID=67190381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910259611.0A Pending CN110018851A (zh) 2019-04-01 2019-04-01 数据处理方法、相关设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN110018851A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445524A (zh) * 2019-09-02 2021-03-05 中科寒武纪科技股份有限公司 数据处理方法、相关设备及计算机可读介质
CN116166583A (zh) * 2023-04-26 2023-05-26 太初(无锡)电子科技有限公司 一种数据精度的转换方法、装置、dma控制器及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364215A (zh) * 2008-09-28 2009-02-11 炬力集成电路设计有限公司 一种用于节省存储空间的数据处理装置及方法
CN101510183A (zh) * 2009-03-23 2009-08-19 华为技术有限公司 数据搬运处理的方法和装置
CN101853229A (zh) * 2010-05-17 2010-10-06 华为终端有限公司 数据搬运方法、装置及数据读操作与写操作的方法
CN104503929A (zh) * 2014-12-02 2015-04-08 天津国芯科技有限公司 一种采用dma控制器进行字符串处理的方法及装置
CN105389277A (zh) * 2015-10-29 2016-03-09 中国人民解放军国防科学技术大学 Gpdsp中面向科学计算的高性能dma部件
CN107305538A (zh) * 2016-04-22 2017-10-31 北京中科寒武纪科技有限公司 一种子矩阵运算装置及方法
CN108388527A (zh) * 2018-02-02 2018-08-10 上海兆芯集成电路有限公司 直接存储器存取引擎及其方法
CN108804380A (zh) * 2018-05-21 2018-11-13 南京大学 矢量运算硬件加速器多核级联的周期精确模型

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364215A (zh) * 2008-09-28 2009-02-11 炬力集成电路设计有限公司 一种用于节省存储空间的数据处理装置及方法
CN101510183A (zh) * 2009-03-23 2009-08-19 华为技术有限公司 数据搬运处理的方法和装置
CN101853229A (zh) * 2010-05-17 2010-10-06 华为终端有限公司 数据搬运方法、装置及数据读操作与写操作的方法
CN104503929A (zh) * 2014-12-02 2015-04-08 天津国芯科技有限公司 一种采用dma控制器进行字符串处理的方法及装置
CN105389277A (zh) * 2015-10-29 2016-03-09 中国人民解放军国防科学技术大学 Gpdsp中面向科学计算的高性能dma部件
CN107305538A (zh) * 2016-04-22 2017-10-31 北京中科寒武纪科技有限公司 一种子矩阵运算装置及方法
CN108388527A (zh) * 2018-02-02 2018-08-10 上海兆芯集成电路有限公司 直接存储器存取引擎及其方法
CN108804380A (zh) * 2018-05-21 2018-11-13 南京大学 矢量运算硬件加速器多核级联的周期精确模型

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445524A (zh) * 2019-09-02 2021-03-05 中科寒武纪科技股份有限公司 数据处理方法、相关设备及计算机可读介质
CN116166583A (zh) * 2023-04-26 2023-05-26 太初(无锡)电子科技有限公司 一种数据精度的转换方法、装置、dma控制器及介质
CN116166583B (zh) * 2023-04-26 2023-07-11 太初(无锡)电子科技有限公司 一种数据精度的转换方法、装置、dma控制器及介质

Similar Documents

Publication Publication Date Title
JP6977239B2 (ja) 行列乗算器
EP3557484B1 (en) Neural network convolution operation device and method
WO2017185389A1 (zh) 一种用于执行矩阵乘运算的装置和方法
CN111651205B (zh) 一种用于执行向量内积运算的装置和方法
JPS60134974A (ja) ベクトル処理装置
JP2003216943A (ja) 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法
TWI603262B (zh) 緊縮有限脈衝響應(fir)濾波器處理器,方法,系統及指令
CN109416755B (zh) 人工智能并行处理方法、装置、可读存储介质、及终端
CN111651203B (zh) 一种用于执行向量四则运算的装置和方法
CN111651206B (zh) 一种用于执行向量外积运算的装置和方法
CN110018851A (zh) 数据处理方法、相关设备及计算机可读介质
CN107977233A (zh) 内核镜像文件快速加载方法和装置
WO2021072732A1 (zh) 矩阵运算电路、装置以及方法
CN115880132A (zh) 图形处理器、矩阵乘法任务处理方法、装置及存储介质
WO2023065983A1 (zh) 计算装置、神经网络处理设备、芯片及处理数据的方法
JP6551751B2 (ja) マルチプロセッサ装置
EP3447690A1 (en) Maxout layer operation apparatus and method
CN111178513B (zh) 神经网络的卷积实现方法、卷积实现装置及终端设备
CN112348182A (zh) 一种神经网络maxout层计算装置
CN108628693A (zh) 处理器调试方法和系统
CN109408035B (zh) 一种业务系统的流程配置方法、存储介质和服务器
CN116308989A (zh) 一种全同态快速数论变换的gpu加速方法
WO2022140043A1 (en) Condensed command packet for high throughput and low overhead kernel launch
CN109766515B (zh) 矩阵分解处理装置及方法
CN112395008A (zh) 运算方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100000 room 644, No. 6, No. 6, South Road, Beijing Academy of Sciences

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20190716

RJ01 Rejection of invention patent application after publication