是否有用于学习英特尔SSE和AVX指令的优秀C / C ++教程或示例?
我在微软MSDN和英特尔网站上发现很少,但从基础知识中理解它会很棒。
答案 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指令以N到Z开头的Intel IA-32指令
此外,英特尔SIMD编程人员必须了解SSE2代之外的指令所需的最低体系结构。
在维基百科上代代浏览:
在单个页面上搜索给定的英特尔SIMD助记符(通过文本搜索):
答案 1 :(得分:3)
答案 2 :(得分:3)
这里有一个很好的介绍
此外,如果您安装了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。