-2

Intel 的 AVX512 技术由于多个子寄存器支持并行化,例如每个 512 位向量寄存器中有 8 个 64 位 FP 子寄存器。什么,多个向量寄存器也可以并行操作?是否发生以下并行化的象征性示例?

开始;

 ZMM0 (operation) ZMM1 -> ZMM2;  

 ZMM3 (operation) ZMM4 -> ZMM5;  
 ...  
 ZMM27 (operation) ZMM28 -> ZMM29;    

父母;

4

1 回答 1

2

1.“每个512位向量寄存器中有8个64位FP子寄存器”

根据1这不是真的

AVX-512 指令支持 512 位宽的 SIMD 寄存器 (ZMM0-ZMM31)。ZMM 寄存器的低 256 位别名为相应的 256 位 YMM 寄存器,低 128 位别名为相应的 128 位 XMM 寄存器。

AVX-512 指令还支持 64 位模式下的 32 个 SIMD 寄存器(XMM0-XMM31、YMM0-YMM31 和 ZMM0-ZMM31)。32 位模式下可用的向量寄存器数量仍然是 8 个。

2、可以“多个向量寄存器并行操作”吗?

这更复杂,因为 AVX512 是 SIMD指令的扩展,并非所有实现它们的处理器都支持。

我只能猜测(我强烈建议您改写您的问题或附上一个示例进行详细分析)您的意思是如果多个指令可以在一个周期内全部发出?简而言之,IMOP,它取决于特定的架构。

推荐阅读“英特尔 64 和 IA32 架构优化参考手册” 2,尽管它尚未包含市场上唯一支持 AVX512 的微芯片 - Xeon Phi(代号 Knights Landing)。至少说明“吞吐量”与具体指令的执行端口和功能单元有关,见附录C-3。

至于你的小例子,因为它只使用寄存器操作数,很可能这些都可以在一个周期内发出。

于 2016-11-09T01:05:40.363 回答