【技术实现步骤摘要】
计算装置、操作方法和机器可读存储介质
[0001]本专利技术涉及一种指令集,且特别涉及一种计算装置、操作方法和机器可读存储介质。
技术介绍
[0002]一般而言,在编写计算程序(program)时,编写者是知道运算数(或称操作数、operand)的数据类型,因此编写者可以将带有“指定(固定)数据类型”信息的指令编写至计算程序中,然后使用编译器(compiler)对计算程序进行编译。举例来说,计算程序可能包括自带有信息“32位的浮点数”(固定数据类型)的加载指令,用以将数据类型为“32位浮点数”的一个运算数从内存加载至运算核(例如张量核,tensor core)。或者,计算程序可能包括自带有信息“32位的浮点数”(固定数据类型)的矩阵乘和累加(matrix multiply and accumulation,MMA)指令,用以使运算核对已被加载的“32位浮点数”的两个运算数进行矩阵乘计算。无论如何,在有一些情况下运算数的数据类型可能在编译时是不确定的(数据类型为未知)。举例来说,卷积神经网络(Convolutional Neural Network,CNN)运算程序的隐藏层(Hidden layer)的计算结果的数据类型可能在实际执行计算后才会被动态决定。然而,目前的指令集并没有支持“不确定数据类型”。
技术实现思路
[0003]本专利技术提供一种计算装置及其操作方法,以及机器可读存储介质,以支持自适应数据类型(adaptive data type)。自适应数据类型意为,数据类型在编译(compile) ...
【技术保护点】
【技术特征摘要】
1.一种计算装置的操作方法,其特征在于,所述操作方法包括:检查目前指令自带的数据类型信息,其中所述数据类型信息表示所述目前指令所对应的目标运算数的数据类型;当所述数据类型信息表示所述目标运算数的数据类型为自适应数据类型时,读取所述目标运算数所对应的元数据,以从所述元数据获知所述目标运算数的实际数据类型,或者直接获取所述目标运算数的所述实际数据类型;以及基于所述元数据所记载所述目标运算数的所述实际数据类型,执行所述目前指令以处理所述目标运算数。2.根据权利要求1所述的操作方法,其特征在于,所述自适应数据类型表示所述目标运算数的数据类型在编译时为未知而在执行时被动态决定。3.根据权利要求1所述的操作方法,其特征在于,所述操作方法还包括:当所述数据类型信息表示所述目标运算数的数据类型为固定数据类型时,基于所述固定数据类型,执行所述目前指令以处理所述目标运算数。4.根据权利要求3所述的操作方法,其特征在于,所述固定数据类型包括4位有符号整数、8位有符号整数、8位无符号整数、8位浮点数、8位脑浮点数、16位有符号整数、标准16位浮点数、16位脑浮点数、标准32位浮点数、32位快速浮点数或是32位以上浮点数。5.根据权利要求4所述的操作方法,其特征在于,当所述数据类型信息为第一值时表示所述固定数据类型为4位有符号整数s4,当所述数据类型信息为第二值时表示所述固定数据类型为8位有符号整数s8,当所述数据类型信息为第三值时表示所述固定数据类型为8位无符号整数u8,当所述数据类型信息为第四值时表示所述固定数据类型为标准16位浮点数f16,当所述数据类型信息为第五值时表示所述固定数据类型为标准32位浮点数f32,当所述数据类型信息为第六值时表示所述固定数据类型为16位脑浮点数bf16,当所述数据类型信息为第七值时表示所述固定数据类型为带有4位指数的8位浮点数f8,当所述数据类型信息为第八值时表示所述固定数据类型为带有5位指数的8位脑浮点数bf8,以及当所述数据类型信息为第九值时表示所述目标运算数的数据类型为所述自适应数据类型。6.根据权利要求1所述的操作方法,其特征在于,所述目前指令包括加载指令,所述操作方法还包括:当所述加载指令自带的所述数据类型信息表示所述目标运算数的数据类型为所述自适应数据类型时,从内存读取所述目标运算数所对应的所述元数据,以从所述元数据获知所述目标运算数的所述实际数据类型;将所述元数据以及所述元数据所记载的所述实际数据类型存放在运算核的状态寄存器;基于所述元数据所记载所述目标运算数的所述实际数据类型,从所述内存读取所述目标运算数;以及将所述目标运算数存放在所述运算核的运算数缓冲器。7.根据权利要求6所述的操作方法,其特征在于,所述运算核包括张量核、通用矩阵乘核或算术逻辑单元。8.根据权利要求1所述的操作方法,其特征在于,所述目前指令包括矩阵乘和累加指令,所述目标运算数包括第一运算数与第二运算数,所述元数据包括第一元数据与第二元
数据,所述第一元数据对应于所述第一运算数,所述第二元数据对应于所述第二运算数,所述操作方法还包括:当所述矩阵乘和累加指令自带的所述数据类型信息表示所述第一运算数的数据类型为所述自适应数据类型时,从运算核的状态寄存器直接获取所述第一运算数的所述实际数据类型;当所述矩阵乘和累加指令自带的所述数据类型信息表示所述第二运算数的数据类型为所述自适应数据类型时,从所述运算核的所述状态寄存器直接获取所述第二运算数的所述实际数据类型;基于所述第一运算数的所述实际数据类型与所述第二运算数的所述实际数据类型,从所述运算核的运算数缓冲器读取所述第一运算数与所述第二运算数;以及对所述第一运算数与所述第二运算数进行矩阵乘计算。9.根据权利要求1所述的操作方法,其特征在于,所述元数据包括实际数据类型字段,用以记载所述元数据所对应的所述目标运算数的所述实际数据类型。10.根据权利要求9所述的操作方法,其特征在于,所述实际数据类型字段所记载的所述实际数据类型包括具有第一结构的8位浮点数、具有第二结构的8位浮点数或是具有第三结构的16位浮点数。11.根据权利要求10所述的操作方法,其特征在于,所述第一结构为“1位符号、5位指数以及2位尾数”,所述第二结构为“1位符号、4位指数以及3位尾数”,所述第三结构为“1位符号、5位指数以及10位尾数”。12.根据权利要求9所述的操作方法,其特征在于,所述元数据还包括缩放因子字段,用以记载所述目标运算数的指数的移动量。13.根据权利要求1所述的操作方法,其特征在于,所述操作方法还包括:通过运算核生成计算结果;通过所述运算核统计所述计算结果的数值特征而生成统计结果;通过所述运算核基于所述统计结果将所述计算结果转换为所述目标运算数与所述元数据;以及将所述目标运算数与所述元数据存放在内存。14.一种机器可读存储介质,用于存储非暂时性机器可读指令,当所述非暂时性机器可读指令由计算机执行时可以实现权利要求1
‑
13任一项所述的计算装置的操作方法。15.一种计算装置,其特征在于,所述计算装置包括:内存,用以存放目标运算数;以及运算核,耦接至所述内存,其中,所述运算核检查目前指令自带的数据类型信息,所述数据类型信息表示所...
【专利技术属性】
技术研发人员:ꢀ七四专利代理机构,
申请(专利权)人:上海壁仞智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。