指令级并行与 SIMD
Posted
技术标签:
【中文标题】指令级并行与 SIMD【英文标题】:Instruction level parallelism vs SIMD 【发布时间】:2016-08-14 14:23:26 【问题描述】:指令级并行与SIMD(单指令多数据)有什么异同?我知道它们都可以使用多个指令,但这是我能想到的唯一相似之处。
【问题讨论】:
【参考方案1】:SIMD 让每条指令处理多个项目。 ILP 是关于拥有multiple dependency chains 以便可以同时运行多个指令。
它们是正交的;为了最大限度地提高 Haswell 的 FMA 吞吐量,您需要保持 10 个 FMA 处于运行状态,每个 FMA 在一个由 8 个单精度元素组成的向量上运行。
x86 标签 wiki 有很多链接,尤其是 Agner Fog 的 Optimizing Assembly 和微架构指南,以了解有关吞吐量与延迟的更多信息。
【讨论】:
以上是关于指令级并行与 SIMD的主要内容,如果未能解决你的问题,请参考以下文章