GCC 和 LLVM 支持 x86 __bf16 类型

在将可选的“__bf16”支持添加到 x86-64 psABI 作为表示深度学习/机器学习应用程序的 16 位大脑浮点格式的特殊类型之后,GCC 和 LLVM 编译器现在已经获得了它们的 __bf16 类型支持。

编译器添加了符合x86-64 psABI 规范的 __bf16 支持。这种新特殊类型的动机总结为:

目前 __bfloat16 是 short 的 typedef,这会产生一个问题,即如果它用于加减乘除,编译器不会发出任何警报,但计算的结果实际上是没有意义的。为了解决这个问题,需要引入一个真正的标量类型__Bfloat16。它主要用于内在函数,不适用于 C 标准运算符。__Bfloat16 也将用于传递参数、加载和存储、向量初始化、向量洗牌等移动。它需要相应的 psABI。

在硬件方面,英特尔至强可扩展 Cooper Lake 和 Sapphire Rapids 是迄今为止具有原生 AVX-512 BFloat16 (BF16) 指令支持的处理器,可增强其机器学习性能潜力。

上周LLVM获得了对 x86 目标的 __bf16 类型支持,以及一些后续提交,以适应其现有的 BFloat16 代码。现在在 GCC Git 中支持 __bf16 类型。

这种 __bf16 类型支持反过来会在稳定的 GCC 13 和 LLVM 16 编译器中找到,这两个编译器都将在明年年初正式发布。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun181919.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年8月19日 上午10:17
下一篇 2022年8月19日

相关推荐