我熟悉C/C++和汇编x86/x64语言,但现在我需要学习图形优化(通常为SSE / SSE2和asm优化),什么资源/书籍/链接我可以用来学习这些主题吗?我已经在网络上搜索没有多少运气学习SSE/SSE2和asm优化
回答
马可,下面
三点回应:
Prof Agner的帖子我认为是这个问题的最后一个字,他们是必读的。
如果您正在寻找如何优化,或者使用64位指令集的细节 - 我的经验一直是保持英特尔手册第2卷得心应手。您可以在此论坛中提出具体问题并获得一些出色的解决方案。如果您正在寻求从更基本的层面入手,WhatsACreel提供了一套出色的YouTube教程 - 覆盖面和解释都非常棒。他将你带到AVX/AVX2上,从基础开始,设置超过60个奇怪的会话。
我不是一个专业的程序员 - 我是一名商业管理专业人员,但是为学术机构/人们写了64位汇编语言代码,他们的博士在这个/我的业余时间被卡住或患有此类人。我认为x64非常强大,非常紧凑,并且可以做任何语言都无法做到的事情。所以,如果有人试图阻止你用x64编写,引用复杂性或其他任何东西,请向他们展示由他们自己选择的任何编译器生成的代码的反汇编:-)(应该吓唬它们),或者轻轻忽略他们。
一切顺利,
仅靠大学的名字来称呼大学教授是不常见的。唐纳德教授会怎么想呢? –
除此之外,除德国人之外没有必要这么正式(那么你必须使用德克教授Doktor的全名)。 –
- 1. 优化Tensorflow学习率
- 2. 我应该学习C++还是ASM?
- 3. 我如何开始学习asm(gas)?
- 4. 强化学习
- 5. 粒子群优化(PSO)学习和适应
- 6. 强化学习 - 根据得分优化权重
- 7. 带强化学习的多标准优化
- 8. 如何优化(最小化)机器学习模型的输出?
- 9. 数学优化
- 10. 学习和练习C++
- 11. Java迷宫解决和强化学习
- 12. spaCy和scikit学习矢量化
- 13. 数学,编程和学习
- 14. C++强化学习库
- 15. 学习软件优化的最佳途径
- 16. 相关的机器学习技术来解决优化问题
- 17. 机器学习中的贝叶斯优化
- 18. 好资源学习数据库优化部分
- 19. 这个简单优化的机器学习算法是什么?
- 20. 我们是否应该为亚当优化器学习衰减
- 21. 学习WPF和MVVM
- 22. 学习PHP和MySQL
- 23. 学习http和cgi
- 24. 学习HTML5和CSS3
- 25. 学习Java和Eclipse
- 26. 学习MPI和Pthread
- 27. 学习GEB和Spock
- 28. Codeigniter和MVC学习
- 29. 可以强化学习代理学习离散分布
- 30. 如何应用UI学习自动化的深度学习?
更普遍:http://www.agner.org/optimize/很多细节上如何优化那里。要获得稍微更完整的指令延迟表,请参阅http://instlatx64.atw.hu/ – harold
上学期,我没有就CPU优化(包括SIMD)做过几次演讲,并且您可能会将演讲幻灯片用于实际。 http://www.cc.gatech.edu/grads/m/mdukhan3/ –
正如一个侧面说明,与asm混淆通常是一个坏主意(至少如果原因只是优化),特别是对于SSE。使用更易于使用的内在函数,与平台无关(因为您可以通过SSE获得平台无关的函数),更重要的是,效率更高,因为编译器可能比您更适合优化。不要试图超越你的编译器(或者,如果你愿意的话,尽量*很难*)。 –