【问题标题】:Why does AVX512-IFMA support only 52-bit ints?为什么 AVX512-IFMA 只支持 52 位整数?
【发布时间】:2015-05-05 21:17:49
【问题描述】:

从该值我们可以推断它使用与双精度浮点硬件相同的组件。但是 double 有 53 位有效位,那么为什么 AVX512-IFMA 限制为 52 位呢?当然尾数只有 52 位,并且隐藏了一位,但它仍然对值有贡献,需要输入到加法器/乘法器/除法器中......

【问题讨论】:

  • 前导位始终为 1 的事实意味着他们可以将该位“硬编码”到乘法器本身中。所以乘法器只需要 52 位宽。因此,IFMA 指令可能实现为相同的 DP 乘法器,但没有规范化,也没有前 1 位的“特殊处理”。

标签: x86 precision avx512 alu fma


【解决方案1】:

IEEE-754 double precision 实际上只有 52 个显式存储位,第 53 位(最高有效位)是隐式 1。

【讨论】:

  • 是的,但您不需要 53 位加法器/乘法器来完成这项工作吗?那些隐藏的位仍然会导致进位并影响最终结果。
  • 我猜可能超过 53 位,但我不知道整数是如何从浮点 ALU 中搭载的。
【解决方案2】:

利用DPF算术单元和FMA实现快速多精度乘法,详见本文第一节: Faster Modular Exponentiation Using Double Precision Floating Point Arithmetic on the GPU

由于它是在论文介绍的dpf乘法单元上进行乘法运算,如果操作数以53位采样,就会破坏统一的处理步骤。

【讨论】:

  • 是的,这就是 AVX512IFMA 存在的原因,直接公开尾数乘数,而不是 only via type-punning to double。但问题是为什么是 52 位而不是 53 位?
  • 我认为 IFMA 的意义在于您不必再使用 任何 FP 数学指令或double 格式,只需使用纯 SIMD 整数即可。所以没有必要将它限制在以前可能的相同宽度。除非尾数乘法器对于隐式第 53 位不完全灵活,否则软件可以获得 106 位而不是 104 位。我认为最有可能的是,乘数是隐含位的特殊情况。
猜你喜欢
  • 2018-04-02
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 2018-10-17
  • 1970-01-01
相关资源
最近更新 更多