You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否用AVX-512实现uint64_t向量乘法?缺失指令的原因是什么?

能否用AVX-512实现两个uint64_t向量的乘法?

根据Intel官方文档,目前存在以下整数向量乘法指令:

  • PMULDQ(压缩双字整数乘法):仅支持有符号整数
  • PMULHRSW(带舍入和缩放的压缩高位乘法):仅支持有符号整数
  • PMULHUW(压缩无符号整数乘法并存储高位结果):仅存储高位结果,不保留低位
  • PMULHW(压缩有符号整数乘法并存储高位结果):仅存储高位结果,不保留低位
  • PMULLD/PMULLQ(压缩整数乘法并存储低位结果):仅支持有符号整数
  • PMULLW(压缩有符号整数乘法并存储低位结果):仅支持有符号整数
  • PMULUDQ(压缩无符号双字整数乘法):仅支持双字值,不支持四字值

看起来似乎没有单条AVX-512指令可实现两个uint64_t向量的乘法并得到低位结果,这令人意外。事实果真如此吗?若是,该指令缺失的原因是什么?

之前找到的两篇讨论内容——《使用AVX2和AVX-512实现64位整数乘法的性能》、《最快的int64_t数组乘法方法?》都仅聚焦有符号整数,无法解答这个问题。

内容的提问来源于stack exchange,提问作者Litherum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:13:09