我很困惑,SIMD和SSE,SSE2,SSE3,AVX等之间的区别是什么?
根据我的知识和研究,SIMD是允许单指令操作多个数据和SSE的架构,AVX是实现SIMD架构的指令集。
每个架构的矢量大小之间是否存在差异,例如SSE有128位而AVX有256位?如果基础SIMD架构是相同的(我认为),那么不同的ISA如何具有不同的矢量大小?
我不确定这是否属实,有人可以向我详细解释实际发生的事情吗?
答案 0 :(得分:2)
Wikipedia页面(http://en.m.wikipedia.org/wiki/SIMD)很好地解释了SIMD以及实现它的指令集。
单指令,多数据(SIMD)是Flynn分类中的一类并行计算机。它描述了具有多个处理元素的计算机,这些处理元素同时在多个数据点上执
SIMD是'概念',SSE / AVX是该概念的实现。所有SIMD指令集都是CPU可以在多个数据点上执行的一组指令。只要CPU支持执行指令,那么无论数据大小如何,多个SIMD指令集都可以共存。