VFWMACCBF16.VV 是否提供 BF16 加减乘除?
不。Zfbfmin/Zvfbfmin 主要提供 BF16 与 FP32 转换;Zvfbfwma 提供拓宽乘加。
BF16 向量拓宽融合乘加:BF16 源相乘,累加到 FP32 vd。
VFWMACCBF16.VV 执行 BF16 加宽融合乘累加:vs1 和 vs2 的 16 位 BF16 元素相乘,未舍入乘积加到 vd 中对应的 32 位 FP32 累加值,按 frm 舍入后写回 vd。典型用于 DNN 矩阵乘累加。属于 Zvfbfwma;该扩展依赖 Zfbfmin 和 Zvfbfmin。
VFWMACCBF16.VV 属于 RISC-V BF16 扩展;BF16 是 1 位符号、8 位指数、7 位 fraction 的 16 位浮点格式。
结合 «vfwmaccbf16.vv v4, v8, v12 # v4[fp32] += bf16(v8) * bf16(v12)» 等实际代码理解该场景。
结合 «vfwmaccbf16.vv v4, v8, v12 # v4[fp32] += bf16(v8) * bf16(v12)» 等实际代码理解该场景。
不。Zfbfmin/Zvfbfmin 主要提供 BF16 与 FP32 转换;Zvfbfwma 提供拓宽乘加。
向量 BF16 指令要求 SEW=16。