当前位置: 首页 > 专利查询>英特尔公司专利>正文

BFLOAT16分类和操纵指令制造技术

技术编号:37143049 阅读:20 留言:0更新日期:2023-04-06 21:52
本申请公开了BFLOAT16分类和操纵指令。描述了用于使用单个指令进行BF16分类或操纵的技术。示例性指令包括用于以下各项的字段:操作码、紧缩数据源操作对象的位置的标识、要执行的一个或多个分类检查的指示、以及紧缩数据目的地操作对象的标识,其中,操作码用于指示出执行电路要进行:针对紧缩数据源操作对象的每个数据元素位置、根据所指示的一个或多个分类检查来执行分类,以及将分类的结果存储在目的地操作对象的对应数据元素位置中。的地操作对象的对应数据元素位置中。的地操作对象的对应数据元素位置中。

【技术实现步骤摘要】
BFLOAT16分类和操纵指令

技术介绍

[0001]近年来,已经证明具有较低精度的乘法和较高精度的累加的融合乘加(fused

multiply

add,FMA)单元在机器学习/人工智能应用中是有用的,最显著的是在训练深度神经网络时是有用的,这是由于其极高的计算强度。相较于经典的IEEE

754 32比特(FP32)和64比特(FP64)算术,此种精度降低的算术在性质上可以与其缩短的宽度不成比例地加速。
附图说明
[0002]将参考附图来描述根据本公开的各实施例,其中:
[0003]图1图示不同的浮点表示格式。
[0004]图2图示用于对源操作对象中的BF16数据元素进行分类的指令的示例性执行。
[0005]图3图示由处理器执行以处理针对如由分类指示所指定的特殊类别而对紧缩(packed)BF16值的检查指令的方法的实施例。
[0006]图4图示表示针对如由分类指示所指定的特殊类别而对紧缩BF16值的检查指令的执行和格式的伪代码的示例性实施例。
[0007]图5图示用于从源操作对象中的BF16数据元素提取指数的指令的示例性执行。
[0008]图6图示由处理器执行以处理从BF16数据元素提取指数指令的方法的实施例。
[0009]图7图示从BF16数据元素提取指数指令的执行的更详细的实施例。
[0010]图8图示表示从BF16数据元素提取指数指令的执行和格式的伪代码的示例性实施例。
[0011]图9图示用于从源操作对象中的BF16数据元素提取尾数的指令的示例性执行。
[0012]图10图示由处理器执行以处理从BF16数据元素提取尾数指令的方法的实施例。
[0013]图11图示表示从BF16数据元素提取尾数指令的执行和格式的伪代码的示例性实施例。
[0014]图12图示用于处理诸如VGETMANNEPBF16/VGETEXPNEPBF16/VFPCLASSNEPBF16指令之类的指令的硬件的实施例。
[0015]图13图示示例性系统的实施例。
[0016]图14图示可具有多于一个的核心、可具有集成存储器控制器、并且可具有集成图形器件的处理器的实施例的框图。
[0017]图15(A)是图示根据本专利技术的实施例的示例性有序管线和示例性的寄存器重命名、乱序发出/执行管线两者的框图。
[0018]图15(B)是图示根据本专利技术的实施例的要包括在处理器中的有序体系结构核心的示例性实施例和示例性的寄存器重命名、乱序发出/执行体系结构核心两者的框图。
[0019]图16图示(一个或多个)执行单元电路的实施例,诸如图15(B)的(一个或多个)执行单元电路。
[0020]图17是根据一些实施例的寄存器体系结构的框图。
[0021]图18图示指令格式的实施例。
[0022]图19图示寻址字段的实施例。
[0023]图20图示第一前缀的实施例。
[0024]图21(A)

图21(D)图示如何使用第一前缀1801(A)的R、X和B字段的实施例。
[0025]图22(A)

图22(B)图示第二前缀的实施例。
[0026]图23图示第三前缀的实施例。
[0027]图24图示根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0028]本公开涉及用于从BF16值提取指数、从BF16值提取尾数或对BF16值进行分类的指令的方法、装置、系统和非暂态计算机可读介质。由于BF16在机器学习算法(尤其是深度学习训练)方面很好地起作用的能力,因此BF16正受青睐。图1图示不同的浮点表示格式。在该图示中,这些格式是低位优先(little endian)格式,然而在一些实施例中使用高位优先(big endian)格式。FP32格式101具有符号比特(S)、8比特指数、以及23比特分数(使用隐式比特的24比特尾数)。FP16格式103具有符号比特(S)、5比特指数、以及10比特分数。BF16格式105具有符号比特(S)、8比特指数、以及7比特分数。
[0029]相较于IEEE 754标准化16比特(FP16)变型,BF16在与FP32相比较时在值域上没有妥协。FP32数具有8比特指数和24比特尾数(包括1个隐式比特)。BF16从24比特FP32尾数截取16比特来创建16比特浮点数据类型。相比之下,FP16粗略地将FP32尾数分半为10个显式比特并将指数减少至5比特,以适配16比特数据类型包络。
[0030]相比于FP16,虽然BF16提供较低的精度,但它典型地更适合于支持深度学习任务。由于其有限的值域,因此FP16的值域不足以完成盒外(out

of

the

box)深度学习训练。BF16不受此问题影响,并且有限的精度实际上可有助于概括神经网络训练任务中所学的权重。换言之,较低的精度可以被看作提供内置的正则化属性。
[0031]本文中详述的是对BF16源数据元素进行操作以进行分类、提取指数或提取尾数的指令及其支持的实施例。在一些实施例中,这些指令中的至少一者被定义成诸如其执行用于将非正规输入或输出视为零,支持任何舍入模式,和/或报告或抑制浮点数值标志。
[0032]图2图示用于对源操作对象中的BF16数据元素进行分类的指令的示例性执行。示例性分类可包括以下各项中的一项或多项:静默非数(quiet non

a

number,QNAN)、信令非数(signaling not

a

number,SNAN)、正零、负零、正无穷、负无穷、非正规或有限负数。
[0033]尽管该示图按照低位优先格式,但是本文讨论的原理按高位优先格式也是可行的。对BF16数据元素进行分类指令(此处以示例性操作码助记符FPCLASSNEPBF16示出)包括以下各项中的至少一项:用于定义指令的操作码的一个或多个字段、用于引用或指示紧缩数据源(例如,512/256/128比特向量或SIMD寄存器、512/256/128比特存储器位置、或从16比特存储器位置广播的512/256/128比特向量)的一个或多个字段、和/或用于引用或指示紧缩数据目的地(例如,寄存器或存储器位置)的一个或多个字段。指令还包括用于提供分类指示的方式,诸如采用被编码在指令中或被存储在所引用或所标识的源操作对象中的立即数。在一些实施例中,指令还包括用于引用或指示用于存储如稍后所描述的写入掩码或谓词(predicate)值的写入掩码或谓词寄存器。
[0034]FPCLASSNEPBF16指令的执行引起针对如由分类指示所指定的特殊类别而对紧缩BF16值的检查。例如,在一些实施例中,立即数中的每个设置比特指定输入数据元素对照本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种设备,包括:解码装置,用于对单个指令的实例进行解码,所述单个指令包括用于以下各项的字段:操作码、紧缩数据源操作对象的位置的标识、要执行的一个或多个分类检查的指示、以及紧缩数据目的地操作对象的标识,其中,所述操作码用于指示出执行装置要进行:针对所述紧缩数据源操作对象的每个数据元素位置、根据所指示的一个或多个分类检查来执行对BF16数据元素的分类,以及将分类的结果存储在所述目的地操作对象的对应数据元素位置中;以及所述执行装置,用于根据所述操作码执行经解码的指令。2.如权利要求1所述的设备,其中,用于第一源操作对象的标识的字段用于标识向量寄存器。3.如权利要求1所述的设备,其中,用于第一源操作对象的标识的字段用于标识存储器位置。4.如权利要求1

3中任一项所述的设备,其中,所述一个或多个分类检查是以下各项中的一项或多项:静默非数QNAN、信令非数SNAN、正零、负零、正无穷、负无穷、非正规或有限负数。5.如权利要求1

4中任一项所述的设备,其中,要执行的所述一个或多个分类检查用于由立即数提供。6.如权利要求1

4中任一项所述的设备,其中,要执行的所述一个或多个分类检查用于由所标识的寄存器提供。7.如权利要求1

6中任一项所述的设备,其中,所述指令进一步包括用于写入掩码寄存器的一个或多个字段。8.一种系统,包括:存储器,用于存储单个指令的实例;解码装置,用于对所述单个指令的所述实例进行解码,所述单个指令包括用于以下各项的字段:操作码、紧缩数据源操作对象的位置的标识、要执行的一个或多个分类检查的指示、以及紧缩数据目的地操作对象的标识,其中,所述操作码用于指示出执行装置要进行:针对所述紧缩数据源操作对象的每个数据元素位置、根据所指示的一个或多个分类检查来执行对BF16数据元素的分类,以及将分类的结果存储在所述目的地操作对象的对应数据元素位置中;以及所述执行装置,用于根据所述操作码执行经解码的指令。9.如权利要求8所述的系统,其中,用于第一源操作对象的标识的字段用于标识向量寄存器。10.如权利要求8所述的系统,其中,用于第一源操作对象的标识的字段用于标识存储器位置。11.如权利要求8

10中任一项所述的系统,其中,所述一个或多个分类检查是以下各项中的一项或多项:静默非数QNAN、信令非数SNAN、正零、负零、正无穷、负无穷、非正规、或有限负数。12.如权利要求8

11中任一项所述的系统,其中,要执行的所述一个或多个分类检查用于由立即数提供。
13.如权利要求8

12中任一项所述的系统,其中,所述指令进一步包括用于写入掩码寄存器的一个或多个字段。14.如权利要求8

13中任一项所述的系统,其中,要执行的所述一个...

【专利技术属性】
技术研发人员:M
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1