CN111831329B - 数据处理方法及装置以及相关产品 - Google Patents

数据处理方法及装置以及相关产品 Download PDF

Info

Publication number
CN111831329B
CN111831329B CN201910319175.1A CN201910319175A CN111831329B CN 111831329 B CN111831329 B CN 111831329B CN 201910319175 A CN201910319175 A CN 201910319175A CN 111831329 B CN111831329 B CN 111831329B
Authority
CN
China
Prior art keywords
descriptor
instruction
data
content
tensor data
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.)
Active
Application number
CN201910319175.1A
Other languages
English (en)
Other versions
CN111831329A (zh
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.)
Anhui Cambricon Information Technology Co Ltd
Original Assignee
Anhui Cambricon Information 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
Priority to CN201910319175.1A priority Critical patent/CN111831329B/zh
Application filed by Anhui Cambricon Information Technology Co Ltd filed Critical Anhui Cambricon Information Technology Co Ltd
Priority to JP2021510523A priority patent/JP7073581B2/ja
Priority to EP20785318.5A priority patent/EP3951666A4/en
Priority to KR1020207036312A priority patent/KR102611162B1/ko
Priority to PCT/CN2020/082803 priority patent/WO2020200246A1/zh
Priority to KR1020207032017A priority patent/KR20200142536A/ko
Priority to KR1020207036316A priority patent/KR102611169B1/ko
Publication of CN111831329A publication Critical patent/CN111831329A/zh
Priority to JP2020198200A priority patent/JP7121103B2/ja
Priority to JP2020198245A priority patent/JP7150803B2/ja
Priority to US17/489,671 priority patent/US11385895B2/en
Priority to US17/849,182 priority patent/US11886880B2/en
Application granted granted Critical
Publication of CN111831329B publication Critical patent/CN111831329B/zh
Priority to US18/531,734 priority patent/US20240111536A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种数据处理方法及装置以及相关产品,所述产品包括控制模块,所述控制模块包括:指令缓存单元、指令处理单元和存储队列单元;所述指令缓存单元,用于存储所述人工神经网络运算关联的计算指令;所述指令处理单元,用于对所述计算指令解析得到多个运算指令;所述存储队列单元,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。通过以上方法,本公开可以提高相关产品在进行神经网络模型的运算时的运算效率。

Description

数据处理方法及装置以及相关产品
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法及装置以及相关产品。
背景技术
随着人工智能技术的不断发展,需要处理的数据量和数据维度都在不断增大。在相关技术中,处理器通常通过获取指令的参数来确定数据地址,然后根据数据地址完成数据的读取和使用,该方式降低了处理器的处理效率。
发明内容
有鉴于此,本公开提出了一种数据处理技术方案。
根据本公开的一方面,提供了一种数据处理方法,所述方法包括:在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状;根据所述管理参数,执行所述处理指令。
根据本公开的另一方面,提供了一种数据处理装置,所述装置包括:参数获取模块,用于在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状;指令执行模块,用于根据所述管理参数,执行所述处理指令。
根据本公开的另一方面,提供了一种人工智能芯片,所述芯片包括如上所述的数据处理装置。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括如上所述的人工智能芯片。
根据本公开的另一方面,提供了一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如上所述的人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
根据本公开的实施例,能够在已解码的处理指令为描述符管理指令时,获取指令中的管理参数,并根据管理参数,执行处理指令,从而可通过描述符管理指令对描述符进行管理,提高处理器对描述符的处理效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开实施例的数据处理方法的流程图。
图2示出根据本公开实施例的数据处理方法的数据存储空间的示意图。
图3示出根据本公开实施例的数据处理方法的框图。
图4示出根据本公开实施例的板卡的结构框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开实施例的数据处理方法的流程图。该数据处理方法可应用于处理器中,该处理器可包括通用处理器(例如中央处理器CPU、图形处理器GPU)和专用处理器(例如人工智能处理器、科学计算处理器或数字信号处理器等)。本公开对处理器的类型不作限制。如图1所示,该数据处理方法包括:
步骤S11,在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状。
其中,张量可以包含多种形式的数据组成方式,张量可以是不同维度的,比如标量可以看作是0维张量,向量可以看作1维张量,而矩阵可以是2维或2维以上的张量。张量的形状包括张量的维度、张量各个维度的尺寸等信息。举例而言,对于张量:
Figure BDA0002034107240000031
该张量的形状可以被描述符描述为(2,4),也即通过两个参数表示该张量为二维张量,且该张量的第一维度(列)的尺寸为2、第二维度(行)的尺寸为4。需要说明的是,本公开对于描述符指示张量形状的方式并不做限定。在存储器中存储张量数据时,根据其数据地址(或存储区域)无法确定张量数据的形状,进而也无法确定多个张量数据之间相互关系等相关信息,导致处理器对张量数据的存取效率较低。在该情况下,可引入描述符来指示张量的形状。
在一种可能的实现方式中,描述符可包括标识和内容等,描述符的标识可用于对描述符进行区分,例如为编号;描述符的内容可用于描述张量数据的形状,描述符的内容可包括表示张量数据的形状的形状参数(例如张量的各个维度方向上的尺寸等),还可以包括表示张量数据的地址的地址参数(例如数据基准点的基准地址)。本公开对描述符的内容的具体参数不作限制。
在一种可能的实现方式中,可以通过描述符管理指令来实现描述符的注册、修改及注销等管理,并为这些管理指令设定相应的操作码。例如可通过描述符注册指令(TRCreat)来注册(创建)描述符;通过描述符修改指令来修改描述符的各个参数(形状、地址等);通过描述符注销指令(TRRelease)来注销(删除)描述符等。本公开对描述符管理指令的种类及操作码的具体设定不作限制。
在一种可能的实现方式中,已解码的处理指令可包括操作码以及一个或多个操作数,操作码用于指示与处理指令对应的处理类型,操作数用于指示待处理的数据。对于已解码的处理指令,根据其操作码可确定处理指令的处理类型。在已解码的处理指令为描述符管理指令时,可获取处理指令中的描述符的管理参数。其中,管理参数可用于指示描述符管理指令的操作参数。例如,描述符注册指令的管理参数可包括描述符的标识、描述符所指示的张量数据的内容等。本公开对管理参数的具体内容不作限制。
步骤S12,根据所述管理参数,执行所述处理指令。
也就是说,可以根据获取的管理参数,执行处理指令。例如,在处理指令为描述符注册指令时,获取描述符注册指令的管理参数后,可根据管理参数执行描述符注册指令,创建相应的描述符。
根据本公开的实施例,能够在已解码的处理指令为描述符管理指令时,获取指令中的管理参数,并根据管理参数,执行处理指令,从而可通过描述符管理指令对描述符进行管理,提高处理器对描述符的处理效率。
在一种可能的实现方式中,所述描述符可用于指示N维的张量数据的形状,N为大于或等于零的整数,其中,所述描述符的内容可包括表示张量数据的形状的至少一个形状参数。
在一种可能的实现方式中,描述符可用于指示N维的张量数据的形状。其中,N的取值可根据张量数据的维数(阶数)来确定,也可以根据张量数据的使用需要进行设定。例如,张量数据为三维数据,N的取值可以为3(根据维数来确定),描述符可用来指示该张量数据在三个维度方向上的形状(例如偏移量、尺寸等)。应当理解,本领域技术人员可以根据实际需要对N的取值进行设置,本公开对此不作限制。
在一种可能的实现方式中,描述符的内容可包括表示张量数据的形状的至少一个形状参数(例如张量的各个维度方向上的尺寸等)。本公开对描述符的内容包括的具体形状参数不作限制。
在本实施例中,通过采用描述符来指示张量数据的方式,能够表达张量数据的形状,进而也能够确定多个张量数据之间的相互关系等相关信息,提高对张量数据的存取效率。
在一种可能的实现方式中,描述符的标识和内容可存储在描述符存储空间中,该描述符存储空间可以为控制单元的内部存储器(例如寄存器、片上的SRAM或其他介质缓存等)中的存储空间。描述符所指示的张量数据的数据存储空间可为所述控制单元的内部存储器(例如片上缓存)或与所述控制单元连接的外部存储器(片下存储器)中的存储空间。数据存储空间中的数据地址可以为实际的物理地址或虚拟地址。本公开对描述符存储空间及数据存储空间的位置以及数据地址的类型不作限制。
在一种可能的实现方式中,描述符的标识、内容以及描述符所指示的张量数据可以位于同一块区域,例如,可使用片上缓存的一块连续区域存储描述符的相关内容,其地址为ADDR0-ADDR1023,其中,地址ADDR0-ADDR31可用于存储描述符的标识,地址ADDR32-ADDR63可用于存储描述符的内容,地址ADDR64-ADDR1023可用于存储描述符指示的张量数据。其中,地址ADDR并不限于1位或一个字节,此处用来表示一个地址,是一个地址单位。本领域技术人员可以实际情况确定存储区域及其地址,本公开对此不作限制。
在一种可能的实现方式中,描述符的标识、内容以及描述符所指示的张量数据可以分开存储在内部存储器的不同区域,例如,可以将寄存器作为描述符存储空间,在寄存器中存储描述符的标识及内容,将片上缓存作为数据存储空间,存储描述符所指示的张量数据。
在一种可能的实现方式中,还可以设置专门供描述符使用的专用寄存器(SR),描述符中的数据可以是立即数也可以从专用寄存器中获取。在使用寄存器存储描述符的标识和内容时,可以使用寄存器的编号来表示描述符的标识,例如,寄存器的编号为0时,其存储的描述符的标识为0。当寄存器中的描述符有效时,可根据描述符所指示的张量数据的大小在缓存空间中分配一块区域(例如在缓存中为每个张量数据创建一个张量缓存单元)用于存储该张量数据。应当理解,也可以采用预设的缓存空间存储该张量数据,本公开对此不作限制。
在一种可能的实现方式中,描述符的标识及内容可存储在内部存储器,描述符所指示的张量数据可存储在外部存储器。例如,可以采用在片上存储描述符的标识及内容、在片下存储描述符所指示的张量数据的方式。
在一种可能的实现方式中,与描述符的标识对应的存储区域的数据地址可以是固定地址。例如,可以为张量数据划分单独的存储空间,每个张量数据在存储空间的起始地址与描述符的标识一一对应。在这种情况下,根据描述符的标识及对应关系,可直接确定描述符所指示的张量数据的数据地址。
应当理解,本领域技术人员可以根据实际需要设置描述符的标识、内容以及描述符所指示的张量数据的存储方式,本公开对此不作限制。
在实施例中,描述符的标识、内容以及描述符所指示的张量数据可以位于同一块区域,还可以分开存储,并可以存储在内部存储器和/或外部存储器中,使得描述符和张量数据的存储方便灵活,从而可提高处理效率。
在一种可能的实现方式中,所述描述符还可用于指示N维的张量数据的地址,其中,所述描述符的内容还可包括表示张量数据的地址的至少一个地址参数。
在一种可能的实现方式中,在与描述符的标识对应的存储区域的数据地址为可变地址时,描述符还可用于指示N维的张量数据的地址,其中,描述符的内容还可包括表示张量数据的地址的至少一个地址参数。举例来说,张量数据为3维数据,可以使用描述符来指示该张量数据的地址,描述符的内容可包括表示该张量数据的地址的一个地址参数(例如张量数据的起始地址),也可以包括该张量数据的地址的多个地址参数(例如张量数据的起始地址+地址偏移量,或张量数据基于各维度的地址参数)。本领域技术人员可以根据实际需要对地址参数进行设置,本公开对此不作限制。
在本实施例中,能够使用描述符来指示张量数据的地址,通过描述符指示的张量数据的地址,可确定多个张量数据之间的相互关系,从而提高处理器的存取效率。
在一种可能的实现方式中,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。其中,基准地址可根据数据基准点的变化而不同。本公开对数据基准点的选取不作限制。
在一种可能的实现方式中,所述基准地址可包括所述数据存储空间的起始地址。在描述符的数据基准点是数据存储空间的第一个数据块时,描述符的基准地址即为数据存储空间的起始地址。在描述符的数据基准点是数据存储空间中第一个数据块以外的其他数据时,描述符的基准地址即为该数据块在数据存储空间中的物理地址。
在本实施例中,张量数据的地址参数可包括描述符的数据基准点对应的基准地址,可根据操作和/或使用需要确定不同的数据基准点,在描述符的内容中使用对应的基准地址,从而使得描述符的内容更符合操作和/或使用需要,可提高数据处理效率。
在一种可能的实现方式中,张量数据的形状参数包括以下至少一种:所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
其中,数据描述位置是描述符所指示的张量数据中的点或区域的映射位置,例如,张量数据为3维数据时,描述符可使用三维空间坐标(x,y,z)来表示该张量数据的形状,该张量数据的数据描述位置可以是使用三维空间坐标(x,y,z)表示的、该张量数据映射在三维空间中的点或区域的位置。
应当理解,本领域技术人员可以根据实际情况选择表示张量数据的形状参数,本公开对此不作限制。
图2示出根据本公开实施例的数据处理方法的数据存储空间的示意图。如图2所示,数据存储空间21采用行优先的方式存储了一个二维数据,可通过(x,y)来表示(其中,X轴水平向右,Y轴垂直向下),X轴方向上的尺寸(每行的尺寸)为ori_x(图中未示出),Y轴方向上的尺寸(总行数)为ori_y(图中未示出),数据存储空间21的起始地址PA_start(基准地址)为第一个数据块22的物理地址。数据块23是数据存储空间21中的部分数据,其在X轴方向上的偏移量25表示为offset_x,在Y轴方向上的偏移量24表示为offset_y,在X轴方向上的尺寸表示为size_x,在Y轴方向上的尺寸表示为size_y。
在一种可能的实现方式中,使用描述符来定义数据块23时,描述符的数据基准点可使用数据存储空间21的第一个数据块,描述符的基准地址为数据存储空间21的起始地址PA_start,然后可以结合数据存储空间21在X轴的尺寸ori_x、在Y轴上的尺寸ori_y,以及数据块23在Y轴方向的偏移量offset_y、X轴方向上的偏移量offset_x、X轴方向上的尺寸size_x以及Y轴方向上的尺寸size_y来确定数据块23的描述符的内容。
在一种可能的实现方式中,可以使用下述公式(1)来表示描述符的内容:
Figure BDA0002034107240000071
应当理解,虽然上述示例中,描述符描述的是二维空间,但本领域技术人员可以根据实际情况对描述符的内容表示的维度进行设置,本公开对此不作限制。
在一种可能的实现方式中,可根据所述描述符的数据基准点在所述数据存储空间中的基准地址、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置,确定所述张量数据的描述符的内容。
举例来说,可以使用描述符的数据基准点在数据存储空间中的基准地址PA_base,以及对角位置的两个顶点相对于数据基准点的位置,确定出图2中数据块23的描述符的内容。首先,确定描述符的数据基准点以及其在数据存储空间中的基准地址PA_base,例如,可以在数据存储空间21中选取一个数据(例如,位置为(2,2)的数据)作为数据基准点,将该数据在数据存储空间中的物理地址作为基准地址PA_base;然后,确定数据块23的对角位置的至少两个顶点相对于数据基准点的位置,例如,使用左上至右下方向的对角位置顶点相对于数据基准点的位置,其中,左上角顶点的相对位置为(x_min,y_min),右下角顶点的相对位置为(x_max,y_max),然后可以根据基准地址PA_base、左上角顶点的相对位置(x_min,y_min)以及右下角顶点的相对位置(x_max,y_max)确定出数据块23的描述符的内容。
在一种可能的实现方式中,可以使用下述公式(2)来表示描述符的内容:
Figure BDA0002034107240000081
应当理解,虽然上述示例中使用左上角和右下角两个顶点来确定描述符的内容,但本领域技术人员可以根据实际需要对至少两个顶点的具体顶点进行设置,本公开对此不作限制。
在一种可能的实现方式中,可根据所述描述符的数据基准点在所述数据存储空间中的基准地址,以及所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系,确定所述张量数据的描述符的内容。其中,数据描述位置与数据地址之间的映射关系可以根据实际需要进行设定,例如,描述符所指示的张量数据为三维空间数据时,可是使用函数f(x,y,z)来定义数据描述位置与数据地址之间的映射关系。
在一种可能的实现方式中,可以使用下述公式(3)来表示描述符的内容:
Figure BDA0002034107240000082
应当理解,本领域技术人员可以根据实际情况对数据描述位置与数据地址之间的映射关系进行设定,本公开对此不作限制。
在本实施例中,张量数据的形状参数可包括尺寸、偏移量、位置、映射关系中的至少一种,可根据操作和/或使用需要在描述符的内容中使用不同的形状参数,从而使得描述符的内容更符合操作和/或使用需要,可提高数据处理效率。
在一种可能的实现方式中,所述描述符管理指令包括描述符注册指令,所述管理参数包括描述符的标识、描述符所指示的张量数据的形状,以及描述符所指示的张量数据的内容中的至少一种,
步骤S12,可包括:在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
在一种可能的实现方式中,描述符注册指令可用于注册描述符,描述符注册指令的管理参数可包括描述符的标识(ID)、描述符所指示的张量数据的形状以及描述符所指示的张量数据的内容中的至少一种。例如,描述符注册指令的管理参数为描述符标识TR0、描述符所指示的张量数据的形状(维度数量、各维度的尺寸、偏移量、起始数据地址等)。本公开对管理参数的具体内容不作限制。
在一种可能的实现方式中,可根据描述符的标识、描述符所指示的张量数据的形状,以及描述符所指示的张量数据的内容中的至少一种注册描述符。
举例来说,在描述符注册指令的管理参数包括描述符的标识TR0时,可根据TR0,执行描述注册指令,注册描述符TR0,可将描述符TR0存储在TR0对应的描述符存储空间(例如寄存器)中。
在一种可能的实现方式中,在描述符注册指令的管理参数包括描述符所指示的张量数据的形状时,可根据描述符所指示的张量数据的形状,确定该描述符的内容,并将该描述符的内容存储在描述符存储空间,完成描述符的注册。在描述符注册指令的管理参数还包括描述符的标识时,确定描述符的内容后,可将描述符的内容存储至描述符的标识对应的描述符存储空间,完成描述符的注册。如果描述符的标识没有对应的描述符存储空间,可将该描述符的内容存储在描述符存储空间中,并将建立该描述符的标识与描述符存储空间的对应关系,完成描述符的注册。
在一种可能的实现方式中,在描述符注册指令的管理参数包括描述符所指示的张量数据的内容时,可根据描述符所指示的张量数据的内容,确定该描述符的内容,建立张量数据的内容与描述符的内容的对应关系,并将该描述符的内容存储在描述符存储空间,完成该描述符的注册。在管理参数还包括描述符的标识时,确定描述符的内容后,可将描述符的内容存储至描述符的标识对应的描述符存储空间,完成描述符的注册。如果描述符的标识没有对应的固定描述符存储空间,可将该描述符的内容存储在描述符存储空间中,并将建立该描述符的标识与描述符存储空间的对应关系,完成描述符的注册。
在一种可能的实现方式中,还可根据描述符所指示的张量数据的形状以及描述符所指示的张量数据的内容来注册描述符,或者根据描述符的标识、描述符所指示的张量数据的形状以及描述符所指示的张量数据的内容来注册描述符。本公开对描述符注册指令中管理参数的组合方式及具体取值不作限制。
在一种可能的实现方式中,描述符注册指令中可以包括多个描述符的管理参数,例如指令中包括描述符的标识TR0、TR1和TR2,则可以根据管理参数(描述符的标识、描述符所指示的张量数据的形状以及描述符所指示的张量数据的内容中的至少一种)分别注册描述符TR0、TR1和TR2。每个TR的注册过程与上述的注册过程相同或相似。这样,可以根据一条指令批量注册多个描述符,进一步提高描述符的注册效率。
在本实施例中,能够根据描述符的标识、描述符所指示的张量数据的形状以及描述符所指示的张量数据的内容中的至少一种来注册描述符,使得描述符的注册能满足多种操作和/或使用需要,从而可提高描述符的处理效率。
在一种可能的实现方式中,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符,可包括:确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;将所述描述符的内容存储到所述第一存储区域。
在一种可能的实现方式中,在描述符注册时,可以先确定描述符的内容在描述符存储空间中的第一存储区域,以及描述符所指示的张量数据的内容在数据存储空间中的第二存储区域。
举例来说,如果已经预先设定了存储区域中的至少一个,则可以直接确定第一存储区域和/或第二存储区域。例如预设了描述符的内容和张量数据的内容存储于同一存储空间,并且描述符的标识TR0对应的描述符的内容的存储地址为ADDR32-ADDR63,张量数据的内容的存储地址为ADDR64-ADDR1023,则可以直接确定这两个地址为第一存储区域和第二存储区域。
在一种可能的实现方式中,如果没有预设的存储区域,则可以为描述符内容在描述符存储空间中分配第一存储区域,并为张量数据内容在数据存储空间中分配第二存储区域。其中,可通过控制单元或通过张量控制模块分配存储区域,本公开对此不作限制。
在一种可能的实现方式中,确定第一存储区域和第二存储区域后,可根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,并建立所述描述符与所述第二存储区域之间的对应关系。然后可将描述符的内容存入第一存储区域中,完成描述符的注册过程。
例如,对于如图2所示的张量数据23,注册参数可以包括数据存储空间21的起始地址PA_start(基准地址)、在X轴方向上的偏移量25(表示为offset_x),在Y轴方向上的偏移量24(表示为offset_y),在X轴方向上的尺寸(表示为size_x),在Y轴方向上的尺寸(表示为size_y)。通过这些参数,可以将描述符的内容表示为公式(1),并将其存储到第一存储区域中,从而完成描述符的注册过程。
通过这种方式,可以根据描述符注册指令自动创建描述符,实现描述符所指示的张量与数据地址之间的对应,从而在数据处理时通过描述符内容获取数据地址,提高处理器的数据存取效率。
在一种可能的实现方式中,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种。
在一种可能的实现方式中,描述符所指示的张量数据的内容可包括立即数。其中,立即数可以是数据处理过程中不发生改变的张量数据。建立描述符与立即数的对应关系后,可以在数据处理过程中,用描述符代替立即数。描述符所指示的张量数据的内容还可包括寄存器中的数据,在建立描述符与寄存器中的数据的对应关系后,可将寄存器的编号作为描述符的标识。
在本实施例中,通过描述符来指示立即数和寄存器中的数据,可降低使用立即数和寄存器中的数据的复杂度,从而提高数据处理的效率。
在一种可能的实现方式中,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,其中,步骤S12,可包括:在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
其中,第一描述符注销指令可用于注销(删除)描述符,其管理参数可包括描述符的标识,其中,描述符的标识用于指示待注销的描述符。
在一种可能的实现方式中,第一描述符注销指令的管理参数可包括至少一个描述符的标识,也就是说,第一描述符注销指令,可以注销一个描述符,也可以同时注销多个描述符。
在一种可能的实现方式中,第一描述符注销指令中可包括部分描述符的标识,即仅对当前描述符中的部分描述符进行注销,也可包括全部描述符的标识,即对当前所有的描述符进行注销。
在一种可能的实现方式中,可所述处理指令为第一描述符注销指令时,可根据描述符的标识注销该标识所对应的描述符。例如,第一描述符注销指令的管理参数为TR2和TR3时,第一描述符注销指令可根据TR2和TR3,注销TR2和TR3所对应的描述符。
在本实施例中,能够根据描述符的标识来注销描述符,还可以根据使用需要同时注销部分或全部描述符、一个或多个描述符,使得描述符的注销方式满足多种处理需求,从而提高了描述符的注销效率。
在一种可能的实现方式中,根据所述描述符的标识注销所述标识所对应的描述符,可包括:分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
也就是说,根据描述符的标识注销该标识所对应的描述符时,可同时释放描述符占用的存储区域,即,可分别释放描述符在描述符存储空间中的存储区域以及描述符所指示的张量数据的内容在数据存储空间中的存储区域。通过这种方式,可以在描述符使用结束后释放描述符所占用的空间,重复利用有限的存储资源,提高了资源的利用效率。
在一种可能的实现方式中,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,其中,步骤S12,可包括:在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;注销所述标识所对应的描述符。
其中,第二描述符注销指令用于可用于注销(删除)描述符,其管理参数可包括描述符的标识,其中,描述符的标识用于指示待注销的描述符。
在一种可能的实现方式中,在处理指令为第二描述符注销指令时,可根据描述符的标识,首先将描述符存储空间中所存储的描述符的内容存储至指定存储空间,然后注销该描述符的标识对应的描述符。也就是说,第二描述符注销指令可再保存待注销的描述符的内容后再执行注销操作。通过先保存描述符的内容再对描述符执行注销的方式,可在保存需要后续使用的描述符的内容的同时,还释放了当前描述符占用的资源(例如描述符的标识、存储空间等资源),从而可提高资源使用效率。
在一种可能的实现方式中,所述描述符管理指令包括描述符修改指令,所述管理参数包括所述描述符的标识、待修改的描述符的内容以及描述符所指示的张量数据的内容中的至少一种,其中,步骤S12可包括:在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
举例来说,描述符修改指令可用于修改描述符的各种参数,例如描述符的标识、张量形状等。描述符修改指令的管理参数可包括描述符的标识、待修改的描述符的内容以及描述符所指示的张量数据的内容中的至少一种。本公开对描述符修改指令的管理参数的具体内容不作限制。
在一种可能的实现方式中,在处理指令为描述符修改指令时,可根据描述符的管理参数,确定描述符的待更新内容,例如将张量的维度由3维改为2维,更改张量在一个或多个维度方向上的尺寸等。
在一种可能的实现方式中,在确定待更新内容后,可更新描述符存储空间中的描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种,以便修改张量数据并使得更新后的描述符能够指示修改后的张量数据。本公开对待更新内容的范围及具体更新方式不作限制。
通过这种方式,可以在描述符所指示的张量数据发生改变时,直接修改描述符,以保持描述符与张量数据之间的对应,提高资源的利用效率。
需要说明的是,尽管以上述实施例作为示例介绍了数据处理方法如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定各步骤,只要符合本公开的技术方案即可。
图3示出根据本公开实施例的数据处理方法的框图。如图3所示,所述数据处理装置包括:
参数获取模块31,用于在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状;
指令执行模块32,用于根据所述管理参数,执行所述处理指令。
在一种可能的实现方式中,所述描述符管理指令包括描述符注册指令,所述管理参数包括描述符的标识、描述符所指示的张量数据的形状,以及描述符所指示的张量数据的内容中的至少一种,
所述指令执行模块32,包括:
注册子模块,用于在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
在一种可能的实现方式中,所述注册子模块,还用于:
确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;
根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;
将所述描述符的内容存储到所述第一存储区域。
在一种可能的实现方式中,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种。
在一种可能的实现方式中,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块32,包括:
第一注销子模块,用于在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
在一种可能的实现方式中,第一注销子模块,还用于:
分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
在一种可能的实现方式中,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块32,包括:
存储空间确定子模块,用于在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;
第二注销子模块,用于注销所述标识所对应的描述符。
在一种可能的实现方式中,所述描述符管理指令包括描述符修改指令,所述管理参数包括所述描述符的标识、待修改的描述符的内容以及描述符所指示的张量数据的内容中的至少一种,
其中,所述指令执行模块32,包括:
更新内容确定子模块,用于在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;
修改子模块,用于根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
在一种可能的实现方式中,所述描述符用于指示N维的张量数据的形状,N为大于或等于零的整数,
其中,所述描述符的内容包括表示张量数据的形状的至少一个形状参数。
在一种可能的实现方式中,所述描述符还用于指示N维的张量数据的地址,其中,所述描述符的内容还包括表示张量数据的地址的至少一个地址参数。
在一种可能的实现方式中,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。
在一种可能的实现方式中,所述张量数据的形状参数包括以下至少一种:
所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
在一种可能的实现方式中,还公开了一种人工智能芯片,其包括了上述数据处理装置。
在一种可能的实现方式中,还公开了一种板卡,其包括存储器件、接口装置和控制器件以及上述人工智能芯片;其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;所述存储器件,用于存储数据;所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;所述控制器件,用于对所述人工智能芯片的状态进行监控。
在一种可能的实现方式中,所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;所述接口装置为:标准PCIE接口。
图4示出根据本公开实施例的板卡的结构框图,参阅图4,上述板卡除了包括上述芯片389以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件390、接口装置391和控制器件392;
所述存储器件390与所述人工智能芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元393。每一组所述存储单元与所述人工智能芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(英文:Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述人工智能芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。可以理解,当每一组所述存储单元中采用DDR4-3200颗粒时,数据传输的理论带宽可达到25600MB/s。
在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述人工智能芯片电连接。所述接口装置用于实现所述人工智能芯片与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。优选的,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述人工智能芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述人工智能芯片电连接。所述控制器件用于对所述人工智能芯片的状态进行监控。具体的,所述人工智能芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(Micro Controller Unit,MCU)。如所述人工智能芯片可以包括多个处理芯片、多个处理核或多个处理电路,可以带动多个负载。因此,所述人工智能芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述人工智能芯片中多个处理芯片、多个处理和或多个处理电路的工作状态的调控。
在一种可能的实现方式中,公开了一种电子设备,其包括了上述人工智能芯片。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。
所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
A1、一种数据处理方法,所述方法包括:
在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状;
根据所述管理参数,执行所述处理指令。
A2、根据权利要求A1所述的方法,所述描述符管理指令包括描述符注册指令,所述管理参数包括描述符的标识、描述符所指示的张量数据的形状,以及描述符所指示的张量数据的内容中的至少一种,
根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
A3、根据权利要求A2所述的方法,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符,包括:
确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;
根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;
将所述描述符的内容存储到所述第一存储区域。
A4、根据权利要求A2或A3所述的方法,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种。
A5、根据权利要求A1所述的方法,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
A6、根据权利要求A5所述的方法,根据所述描述符的标识注销所述标识所对应的描述符,包括:
分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
A7、根据权利要求A1所述的方法,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;
注销所述标识所对应的描述符。
A8、根据权利要求A1所述的方法,所述描述符管理指令包括描述符修改指令,所述管理参数包括所述描述符的标识、待修改的描述符的内容以及描述符所指示的张量数据的内容中的至少一种,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;
根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
A9、根据权利要求A1-A8中任意一项所述的方法,所述描述符用于指示N维的张量数据的形状,N为大于或等于零的整数,
其中,所述描述符的内容包括表示张量数据的形状的至少一个形状参数。
A10、根据权利要求A9所述的方法,所述描述符还用于指示N维的张量数据的地址,其中,所述描述符的内容还包括表示张量数据的地址的至少一个地址参数。
A11、根据权利要求A10所述的方法,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。
A12、根据权利要求A11所述的方法,所述张量数据的形状参数包括以下至少一种:
所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
A13、一种数据处理装置,所述装置包括:
参数获取模块,用于在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状;
指令执行模块,用于根据所述管理参数,执行所述处理指令。
A14、根据权利要求A13所述的装置,所述描述符管理指令包括描述符注册指令,所述管理参数包括描述符的标识、描述符所指示的张量数据的形状,以及描述符所指示的张量数据的内容中的至少一种,
所述指令执行模块,包括:
注册子模块,用于在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
A15、根据权利要求A14所述的装置,所述注册子模块,还用于:
确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;
根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;
将所述描述符的内容存储到所述第一存储区域。
A16、根据权利要求A14或A15所述的装置,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种。
A17、根据权利要求A13所述的装置,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块,包括:
第一注销子模块,用于在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
A18、根据权利要求A17所述的装置,第一注销子模块,还用于:
分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
A19、根据权利要求A13所述的装置,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块,包括:
存储空间确定子模块,用于在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;
第二注销子模块,用于注销所述标识所对应的描述符。
A20、根据权利要求A13所述的装置,所述描述符管理指令包括描述符修改指令,所述管理参数包括所述描述符的标识、待修改的描述符的内容以及描述符所指示的张量数据的内容中的至少一种,
其中,所述指令执行模块,包括:
更新内容确定子模块,用于在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;
修改子模块,用于根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
A21、根据权利要求A13-A20中任意一项所述的装置,所述描述符用于指示N维的张量数据的形状,N为大于或等于零的整数,
其中,所述描述符的内容包括表示张量数据的形状的至少一个形状参数。
A22、根据权利要求A21所述的装置,所述描述符还用于指示N维的张量数据的地址,其中,所述描述符的内容还包括表示张量数据的地址的至少一个地址参数。
A23、根据权利要求A22所述的装置,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。
A24、根据权利要求A23所述的方法,所述张量数据的形状参数包括以下至少一种:
所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
A25、一种人工智能芯片,其特征在于,所述芯片包括如权利要求A13-A24中任意一项所述的数据处理装置。
A26、一种电子设备,其特征在于,所述电子设备包括如权利要求25所述的人工智能芯片。
A27、一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求A25所述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控。
A28、根据权利要求A27所述的板卡,其特征在于,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (26)

1.一种数据处理方法,其特征在于,所述方法包括:
在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状,所述管理参数包括描述符所指示的张量数据的内容,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种,所述描述符管理指令包括描述符注册指令、第一描述符注销指令、第二描述符注销指令、描述符修改指令中的至少一种;
根据所述管理参数,执行所述处理指令。
2.根据权利要求1所述的方法,其特征在于,所述描述符管理指令包括描述符注册指令,所述管理参数还包括描述符的标识、描述符所指示的张量数据的形状中的至少一种,
根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
3.根据权利要求2所述的方法,其特征在于,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符,包括:
确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;
根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;
将所述描述符的内容存储到所述第一存储区域。
4.根据权利要求1所述的方法,其特征在于,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
5.根据权利要求4所述的方法,其特征在于,根据所述描述符的标识注销所述标识所对应的描述符,包括:
分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
6.根据权利要求1所述的方法,其特征在于,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;
注销所述标识所对应的描述符。
7.根据权利要求1所述的方法,其特征在于,所述描述符管理指令包括描述符修改指令,所述管理参数还包括所述描述符的标识、待修改的描述符的内容中的至少一种,
其中,根据所述管理参数,执行所述处理指令,包括:
在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;
根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
8.根据权利要求1-7中任意一项所述的方法,其特征在于,所述描述符用于指示N维的张量数据的形状,N为大于或等于零的整数,
其中,所述描述符的内容包括表示张量数据的形状的至少一个形状参数。
9.根据权利要求8所述的方法,其特征在于,所述描述符还用于指示N维的张量数据的地址,其中,所述描述符的内容还包括表示张量数据的地址的至少一个地址参数。
10.根据权利要求9所述的方法,其特征在于,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。
11.根据权利要求10所述的方法,其特征在于,所述张量数据的形状参数包括以下至少一种:
所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
12.一种数据处理装置,其特征在于,所述装置包括:
参数获取模块,用于在已解码的处理指令为描述符管理指令时,获取所述处理指令中的描述符的管理参数,所述描述符用于指示张量的形状,所述管理参数包括描述符所指示的张量数据的内容,所述描述符所指示的张量数据的内容包括立即数和寄存器中的数据中的至少一种,所述描述符管理指令包括描述符注册指令、第一描述符注销指令、第二描述符注销指令、描述符修改指令中的至少一种;
指令执行模块,用于根据所述管理参数,执行所述处理指令。
13.根据权利要求12所述的装置,其特征在于,所述描述符管理指令包括描述符注册指令,所述管理参数还包括描述符的标识、描述符所指示的张量数据的形状中的至少一种,
所述指令执行模块,包括:
注册子模块,用于在所述处理指令为描述符注册指令时,根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种注册描述符。
14.根据权利要求13所述的装置,其特征在于,所述注册子模块,还用于:
确定所述描述符的内容在描述符存储空间中的第一存储区域,以及所述描述符所指示的张量数据的内容在数据存储空间中的第二存储区域;
根据所述描述符的标识、所述描述符所指示的张量数据的形状,以及所述描述符所指示的张量数据的内容中的至少一种,确定所述描述符的内容,以及建立所述描述符与所述第二存储区域之间的对应关系;
将所述描述符的内容存储到所述第一存储区域。
15.根据权利要求12所述的装置,其特征在于,所述描述符管理指令包括第一描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块,包括:
第一注销子模块,用于在所述处理指令为第一描述符注销指令时,根据所述描述符的标识注销所述标识所对应的描述符。
16.根据权利要求15所述的装置,其特征在于,第一注销子模块,还用于:
分别释放所述描述符在描述符存储空间中的存储区域以及所述描述符所指示的张量数据的内容在数据存储空间中的存储区域。
17.根据权利要求12所述的装置,其特征在于,所述描述符管理指令包括第二描述符注销指令,所述管理参数包括描述符的标识,
其中,所述指令执行模块,包括:
存储空间确定子模块,用于在所述处理指令为第二描述符注销指令时,根据所述描述符的标识,将描述符存储空间中所存储的所述描述符的内容存储至指定存储空间;
第二注销子模块,用于注销所述标识所对应的描述符。
18.根据权利要求12所述的装置,其特征在于,所述描述符管理指令包括描述符修改指令,所述管理参数还包括所述描述符的标识、待修改的描述符的内容中的至少一种,
其中,所述指令执行模块,包括:
更新内容确定子模块,用于在所述处理指令为描述符修改指令时,根据所述描述符的管理参数,确定所述描述符的待更新内容;
修改子模块,用于根据待更新内容,更新所述描述符的标识、描述符存储空间中的所述描述符的内容以及数据存储空间中张量数据的内容中的至少一种。
19.根据权利要求12-18中任意一项所述的装置,其特征在于,所述描述符用于指示N维的张量数据的形状,N为大于或等于零的整数,
其中,所述描述符的内容包括表示张量数据的形状的至少一个形状参数。
20.根据权利要求19所述的装置,其特征在于,所述描述符还用于指示N维的张量数据的地址,其中,所述描述符的内容还包括表示张量数据的地址的至少一个地址参数。
21.根据权利要求20所述的装置,其特征在于,所述张量数据的地址参数包括所述描述符的数据基准点在所述张量数据的数据存储空间中的基准地址。
22.根据权利要求21所述的装置,其特征在于,所述张量数据的形状参数包括以下至少一种:
所述数据存储空间在N个维度方向的至少一个方向上的尺寸、所述张量数据的存储区域在N个维度方向的至少一个方向上的尺寸、所述存储区域在N个维度方向的至少一个方向上的偏移量、处于N个维度方向的对角位置的至少两个顶点相对于所述数据基准点的位置、所述描述符所指示的张量数据的数据描述位置与数据地址之间的映射关系。
23.一种人工智能芯片,其特征在于,所述芯片包括如权利要求12-22中任意一项所述的数据处理装置。
24.一种电子设备,其特征在于,所述电子设备包括如权利要求23所述的人工智能芯片。
25.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求23所述的人工智能芯片;
其中,所述人工智能芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;
所述存储器件,用于存储数据;
所述接口装置,用于实现所述人工智能芯片与外部设备之间的数据传输;
所述控制器件,用于对所述人工智能芯片的状态进行监控。
26.根据权利要求25所述的板卡,其特征在于,
所述存储器件包括:多组存储单元,每一组所述存储单元与所述人工智能芯片通过总线连接,所述存储单元为:DDR SDRAM;
所述芯片包括:DDR控制器,用于对每个所述存储单元的数据传输与数据存储的控制;
所述接口装置为:标准PCIE接口。
CN201910319175.1A 2019-04-04 2019-04-19 数据处理方法及装置以及相关产品 Active CN111831329B (zh)

Priority Applications (12)

Application Number Priority Date Filing Date Title
CN201910319175.1A CN111831329B (zh) 2019-04-19 2019-04-19 数据处理方法及装置以及相关产品
EP20785318.5A EP3951666A4 (en) 2019-04-04 2020-04-01 DATA PROCESSING DEVICE AND ASSOCIATED PRODUCT
KR1020207036312A KR102611162B1 (ko) 2019-04-04 2020-04-01 데이터 처리 장치 및 관련 제품
PCT/CN2020/082803 WO2020200246A1 (zh) 2019-04-04 2020-04-01 数据处理装置及相关产品
KR1020207032017A KR20200142536A (ko) 2019-04-04 2020-04-01 데이터 처리 장치 및 관련 제품
KR1020207036316A KR102611169B1 (ko) 2019-04-04 2020-04-01 데이터 처리 장치 및 관련 제품
JP2021510523A JP7073581B2 (ja) 2019-04-04 2020-04-01 データ処理装置及び関連製品
JP2020198200A JP7121103B2 (ja) 2019-04-04 2020-11-30 データ処理装置及び関連製品
JP2020198245A JP7150803B2 (ja) 2019-04-04 2020-11-30 データ処理装置及び関連製品
US17/489,671 US11385895B2 (en) 2019-04-04 2021-09-29 Data processing apparatus and related products
US17/849,182 US11886880B2 (en) 2019-04-04 2022-06-24 Data processing apparatus and related products with descriptor management
US18/531,734 US20240111536A1 (en) 2019-04-04 2023-12-07 Data processing apparatus and related products

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910319175.1A CN111831329B (zh) 2019-04-19 2019-04-19 数据处理方法及装置以及相关产品

Publications (2)

Publication Number Publication Date
CN111831329A CN111831329A (zh) 2020-10-27
CN111831329B true CN111831329B (zh) 2022-12-09

Family

ID=72911386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910319175.1A Active CN111831329B (zh) 2019-04-04 2019-04-19 数据处理方法及装置以及相关产品

Country Status (1)

Country Link
CN (1) CN111831329B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077327A (zh) * 2014-06-30 2017-08-18 微体系统工程有限公司 用于可扩展宽操作数指令的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1282067C (zh) * 2004-08-09 2006-10-25 威盛电子股份有限公司 进行硬盘阵列同位运算的装置与相关方法
US20090119460A1 (en) * 2007-11-07 2009-05-07 Infineon Technologies Ag Storing Portions of a Data Transfer Descriptor in Cached and Uncached Address Space
US9898292B2 (en) * 2015-02-25 2018-02-20 Mireplica Technology, Llc Hardware instruction generation unit for specialized processors
US9977619B2 (en) * 2015-11-06 2018-05-22 Vivante Corporation Transfer descriptor for memory access commands
CN109543832B (zh) * 2018-11-27 2020-03-20 中科寒武纪科技股份有限公司 一种计算装置及板卡
CN109522052B (zh) * 2018-11-27 2020-05-08 中科寒武纪科技股份有限公司 一种计算装置及板卡

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107077327A (zh) * 2014-06-30 2017-08-18 微体系统工程有限公司 用于可扩展宽操作数指令的系统和方法

Also Published As

Publication number Publication date
CN111831329A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN110096310B (zh) 运算方法、装置、计算机设备和存储介质
CN111782133A (zh) 数据处理方法及装置以及相关产品
EP3825842B1 (en) Data processing method and apparatus, and related product
CN111857828B (zh) 处理器操作方法及装置以及相关产品
US20240111536A1 (en) Data processing apparatus and related products
US20240004650A1 (en) Data processing method and apparatus, and related product
CN111831337B (zh) 数据同步方法及装置以及相关产品
CN112347186B (zh) 数据同步方法及装置以及相关产品
CN111831329B (zh) 数据处理方法及装置以及相关产品
CN111782274B (zh) 数据处理装置及相关产品
CN111783992A (zh) 数据处理装置及相关产品
CN111782267B (zh) 数据处理方法及装置以及相关产品
WO2021027973A1 (zh) 数据同步方法及装置以及相关产品
WO2021018313A1 (zh) 数据同步方法及装置以及相关产品
CN111831722A (zh) 数据同步方法及装置以及相关产品
CN113806246A (zh) 数据处理装置及方法以及相关产品
CN113807507A (zh) 数据处理方法及装置以及相关产品
CN112347026B (zh) 数据同步方法及装置以及相关产品
CN111124497B (zh) 运算方法、装置、计算机设备和存储介质
CN111325331B (zh) 运算方法、装置及相关产品
CN111857829A (zh) 处理器操作方法及装置以及相关产品
CN114489790A (zh) 数据处理装置、数据处理方法及相关产品
CN112347185A (zh) 数据同步方法及装置以及相关产品
CN113867686A (zh) 运算方法、装置及相关产品
CN112394999A (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
GR01 Patent grant
GR01 Patent grant