英特尔SSE和AVX示例和教程

时间:2012-11-27 04:03:30

标签: intel sse vectorization avx

是否有用于学习英特尔SSE和AVX指令的优秀C / C ++教程或示例?

我在微软MSDN和英特尔网站上发现很少,但从基础知识中理解它会很棒。

4 个答案:

答案 0 :(得分:13)

对于视觉倾向的SIMD程序员,Stefano Tommesani的网站是x86 SIMD编程的最佳介绍。

http://www.tommesani.com/index.php/simd/46-sse-arithmetic.html

图表仅为MMX和SSE2提供,但一旦学习者熟练掌握SSE2,就可以相对容易地继续阅读并阅读正式规范。


以A到M

开头的Intel IA-32指令

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf

以N到Z开头的Intel IA-32指令

http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2b-manual.pdf


此外,英特尔SIMD编程人员必须了解SSE2代之外的指令所需的最低体系结构。

在维基百科上代代浏览:

在单个页面上搜索给定的英特尔SIMD助记符(通过文本搜索):


答案 1 :(得分:3)

答案 2 :(得分:3)

这里有一个很好的介绍

Code project SSE

此外,如果您安装了Microsoft DirectX SDK,xnamath的源代码将使用sse intrinsics进行大量的向量/矩阵运算(请查看sdk include文件夹,xnamath.h,xnamathconvert.inl,xnamathmatrix.inl ... )

答案 3 :(得分:2)

您可能会发现查看SIMD如何应用于某些常见算法的示例很有用。在2011年游戏开发者大会上,有一个名为"Hotspots, FLOPS, and uOps: To-the-Metal CPU Optimization"的英特尔谈话试图演示SIMD游戏中常见的算法。谈话涉及一些Intel sample code that shows how AVX can be applied to cloth calculations