2013-02-07 53 views
7

我熟悉C/C++和汇编x86/x64语言,但现在我需要学习图形优化(通常为SSE ​​/ SSE2和asm优化),什么资源/书籍/链接我可以用来学习这些主题吗?我已经在网络上搜索没有多少运气学习SSE/SSE2和asm优化

+11

更普遍:http://www.agner.org/optimize/很多细节上如何优化那里。要获得稍微更完整的指令延迟表,请参阅http://instlatx64.atw.hu/ – harold

+5

上学期,我没有就CPU优化(包括SIMD)做过几次演讲,并且您可能会将演讲幻灯片用于实际。 http://www.cc.gatech.edu/grads/m/mdukhan3/ –

+2

正如一个侧面说明,与asm混淆通常是一个坏主意(至少如果原因只是优化),特别是对于SSE。使用更易于使用的内在函数,与平台无关(因为您可以通过SSE获得平台无关的函数),更重要的是,效率更高,因为编译器可能比您更适合优化。不要试图超越你的编译器(或者,如果你愿意的话,尽量*很难*)。 –

回答

2

马可,下面

三点回应:

  1. 如果你想学习一组快速招数,还有一些书在一般提供标题算法谜题。以下两个我已经使用并提供优秀的挑战组来磨练你的技能。 Book1是一些非常有趣的技巧的集合。我也很喜欢这个Book2

Prof Agner的帖子我认为是这个问题的最后一个字,他们是必读的。

  1. 如果您正在寻找如何优化,或者使用64位指令集的细节 - 我的经验一直是保持英特尔手册第2卷得心应手。您可以在此论坛中提出具体问题并获得一些出色的解决方案。如果您正在寻求从更基本的层面入手,WhatsACreel提供了一套出色的YouTube教程 - 覆盖面和解释都非常棒。他将你带到AVX/AVX2上,从基础开始,设置超过60个奇怪的会话。

  2. 我不是一个专业的程序员 - 我是一名商业管理专业人员,但是为学术机构/人们写了64位汇编语言代码,他们的博士在这个/我的业余时间被卡住或患有此类人。我认为x64非常强大,非常紧凑,并且可以做任何语言都无法做到的事情。所以,如果有人试图阻止你用x64编写,引用复杂性或其他任何东西,请向他们展示由他们自己选择的任何编译器生成的代码的反汇编:-)(应该吓唬它们),或者轻轻忽略他们。

一切顺利,

+1

仅靠大学的名字来称呼大学教授是不常见的。唐纳德教授会怎么想呢? –

+0

除此之外,除德国人之外没有必要这么正式(那么你必须使用德克教授Doktor的全名)。 –