作者OASYS (打倒万恶ETS)
看板Programming
标题Re: [问题] 追求效能下,在Do Loop下用IF叙述?
时间Thu Mar 13 08:51:40 2008
首先感谢众位高手的指点..小弟只是一个小小的物理所研究生..所以相关资讯课程
并没有修过,都靠自己摸索..T_T
小弟想进一步请教,大大们能否推荐一些有关architecture的书,原文或中文皆可
另外也感谢网友提供GPGPU的资讯,这是小弟一直很想知道的资讯!
: 没错,还是跑 profiling 最实际,
: 不过我的建议是先看看 profiling 的资讯,
: 如果你的架构是 intel 的那可以想办法去弄到 vTune,
: 只要你对 architecture (不一定要修过课) 够了解的话,
: 它可以提供你相当多的资讯,
: 当然也包括 branch prediction 的准确度等等,
: 这样也能顺便测试一下你的 compiler 水准到哪里。
: 最内层 loop 要是有 call function 的话,
: 那个 function 内容最好也能同时被 compiler 看到,
: 这样才有机会完成 inline;
: 另外有 if else 并不一定代表一定有 branch instruction 被产生,
: 因为有可能被 if-conversion 这项最佳化处理掉,
: 所以做 profiling feedback optimization 可能收到的效果还是有限。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.31.143
1F:推 noguest:先试profiling, 做这部份不需要改程式. 使 64.9.238.248 03/13 09:46
2F:→ noguest:用VTune或EMON等工具, 若没基础, 要花点时 64.9.238.248 03/13 09:49
3F:→ noguest:间去了解, 可以再慢慢学. 64.9.238.248 03/13 09:50
4F:→ noguest:而且等有profiled executable後再跑VTune 64.9.238.248 03/13 09:53
5F:→ noguest:或EMON比较好,所得的资料更有用 64.9.238.248 03/13 09:55
6F:推 brighton16:跑profiling找到效能瓶颈再着手会比较 122.122.70.50 03/13 15:02
7F:→ brighton16:有效,因很多时候是卡在被忽略的小细节 122.122.70.50 03/13 15:04
8F:→ brighton16:如果资料结构、演算法都已经拼到极限再 122.122.70.50 03/13 15:05
9F:→ brighton16:考虑用Cuda或是OpenMP,因为老板给的时 122.122.70.50 03/13 15:05
10F:→ brighton16:间永远不够 ˇˇ 除非很有空,不然改架 122.122.70.50 03/13 15:06
11F:→ brighton16:构很容易会赶不上deadline 122.122.70.50 03/13 15:07
12F:→ OASYS:感谢大大们的指点!!m(_ _)m 124.218.86.239 03/17 19:10
13F:→ OASYS:请问有人知道台湾哪里有CUDA相关的讨论区呢 124.218.86.239 03/18 08:45