上一节我们介绍了计算向量化的概念,简单来说,计算向量化就是把对数据的计算,从循环计算的方式,优化为使用一条指令来完成,起到性能优化的目的。
接下来简单介绍一个在绝大部分电脑 CPU 上都有的向量指令集,后面我们也会用这个指令集来优化卷积运算,那就是 avx2 指令集。
AVX2(Advanced Vector Extensions 2)指令集,是 intel 处理器上的指令集扩展。名字中的 V, 指的是 vetor, 翻译过来就是向量,因此它是一种向量指令集扩展。
AVX2 扩展了之前的 SSE(Streaming SIMD Extensions)和 AVX(Advanced Vector Extensions)指令集,支持更宽的向量寄存器和更复杂的操作,以便同时处理更多的数据。这种扩展,使 AVX2 特别适用于并行处理、科学计算、图像处理等计算密集型的应用。
这里仅摘取两个需要我们关注并且学习到的点,其余的知识点如果感兴趣,可以去百度查一下,或者去 intel 官网查看他们的指令集介绍。
intel avx2 指令集官网: