【技术实现步骤摘要】
用于深度学习和其它算法的FP16
‑
S7E8混合精度
[0001]本专利技术的领域一般涉及计算机处理器架构,并且更具体地说,涉及用于深度学习和其它算法的FP16
‑
S7E8混合精度。
技术介绍
[0002]当今用于通过神经网络的机器学习的许多硬件加速器在训练和推理两者期间主要执行矩阵乘法。用于机器学习的硬件加速器努力实现最佳原始性能数字(raw performance number)和功率与性能比值。
[0003]机器学习架构(例如深度神经网络)已经被应用于包括计算机视觉、图像识别、语音识别、自然语言处理、音频识别、社交网络过滤、机器翻译、生物信息学和药物设计的领域。
[0004]矩阵乘法是用于包括机器学习的许多算法的关键性能/功率限制物。
[0005]对于加速指令吞吐量和提高性能的尝试可以试图使用缩减精度,例如IEEE
‑
FP16(S10E5),其是一种具有10比特有效位(有时称为尾数、系数、自变量或分数)和5比特指数的半精度浮点(FP)格式,并且在由电气和电子工程师协会(IEEE)颁布的IEEE 754
‑
2008标准中被定义。然而,当使用IEEE
‑
FP16(S10E5)时,由于有效位对指数位的过度分配,IEEE
‑
FP16(S10E5)趋于是耗时的、需要专家知识、并且可能产生比通过例如单精度所获得的超参数更不积极(即,训练更慢)的超参数(即,在训练过程前固定并且在训练过程期间或作
【技术保护点】
【技术特征摘要】
1.一种芯片,包括:多个存储器控制器;耦合到所述多个存储器控制器的二级(L2)高速缓冲存储器;耦合到所述多个存储器控制器并耦合到所述L2高速缓冲存储器的处理器,所述处理器具有多个核,所述多个核包括核,所述核响应于指定包括多个16位浮点数据元素的第一源矢量、包括多个16位浮点数据元素的第二源矢量、和包括多个浮点数据元素的第三源矢量的指令而进行以下操作:将来自所述第一源矢量的所述多个16位浮点数据元素与来自所述第二源矢量的所述多个16位浮点数据元素中的对应16位浮点数据元素相乘,以生成多个对应乘积,其中来自所述第一源矢量的16位浮点数据元素和来自所述第二源矢量的16位浮点数据元素各自具有符号位、八个指数位、和七个有效位;将所述多个乘积与来自所述第三源矢量的所述多个浮点数据元素的对应浮点数据元素累加,以生成多个对应的累加浮点数据元素;根据舍入模式对所述累加浮点数据元素中的一个或多个累加浮点数据元素进行舍入;使所述累加浮点数据元素中的一个或多个累加浮点数据元素饱和;以及将多个结果浮点数据元素存储在目的地中;耦合到所述处理器的互连;以及耦合到所述处理器的总线控制器。2.根据权利要求1所述的芯片,其中,来自所述第一源矢量的所述16位浮点数据元素和来自所述第二源矢量的所述16位浮点数据元素各自是神经半精度元素。3.根据权利要求1所述的芯片,其中,所述舍入模式是舍入到最接近的偶数,并且由所述指令指定。4.根据权利要求1至3中任一项所述的芯片,还包括指令转换器,所述指令转换器用于将所述指令转换成由所述核可执行的不同指令集的一个或多个指令。5.根据权利要求1至3中任一项所述的芯片,其中,所述多个核包括图形核。6.根据权利要求1至3中任一项所述的芯片,其中,所述多个核是异质的。7.一种由芯片执行的方法,所述方法包括:通过所述芯片的多个存储器控制器来访问存储器;将数据存储在所述芯片的二级(L2)高速缓冲存储器中;通过所述芯片的处理器的多个核来处理数据,所述多个核包括核;通过所述核来执行指令,指定包括多个16位浮点数据元素的第一源矢量、包括多个16位浮点数据元素的第二源矢量、和包括多个浮点数据元素的第三源矢量的指令用于:将来自所述第一源矢量的所述多个16位浮点数据元素与来自所述第二源矢量的所述多个16位浮点数据元素中的对应16位浮点数据元素相乘,以生成多个对应乘积,其中来自所述第一源矢量的16位浮点数据元素和来自所述第二源矢量的16位浮点数据元素各自具有符号位、八个指数位、和七个有效位;将所述多个乘积与来自所述第三源矢量的所述多个浮点数据元素的对应浮点数据元素累加,以生成多个对应的累加浮点数据元素;根据舍入模式对所述累加浮点数据元素中的一个或多个累加浮点数据元素进行舍入;
使所述累加浮点数据元素中的一个或多个累加浮点数据元素饱和;以及将多个结果浮点数据元素存储在目的地中;将数据从所述处理器传送到所述芯片的互连;以及通过所述芯片的总线控制器来访问总线。8.根据权利要求7所述的方法,其中,...
【专利技术属性】
技术研发人员:SN卡什亚普,A莱珀,P博伊尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。