YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← cs344_unit5_7_q_分析

Get Embed Code
2 Languages

Showing Revision 1 created 05/15/2013 by Lian7.

  1. 现在分析阶段有两个部分—
  2. 明白你的应用时间花在哪,
  3. 明白你想用额外的并行做什么。
  4. 了解热点很简单。
  5. 通常程序员对这有些直觉。
  6. 他们对于他们的代码时间花在哪有点数。
  7. 但直觉可能是错误的,没有什么能代替数据,所以不要依赖于直觉。
  8. 所以运行你最喜欢的分析器,无论是GProf或VTune
  9. 或出色地命名为Very Sleepy的分析器,
  10. 看不同函数或不同行的代码花费多少时间。
  11. 你将获得一些输出,告诉你每个函数花多少时间。
  12. 这个函数可能花10%的时间,
  13. 这个函数可能花整个程序总时间的20%,
  14. 假使这种情况,程序在一个函数上花费它50%的时间,
  15. 那么这里有个明显的热点。
  16. 可能你的直觉已告诉你这是时间花费的地方。
  17. 往往你确实知道第一热点,
  18. 但有时你会吃惊于第二、第三热点。
  19. 有时它们不是你认为的。
  20. 这给了你一个开始并行化代码的起点,
  21. 同时也是对可以预期加速多少的指示。
  22. 让我们回家做个测验尝试一下。
  23. 在我们展示的这个例子中,问题是
  24. 你可以期待的可能的最大加速是多少,如果你并行化第一个函数,
  25. 即花费最多时间的函数?
  26. 是这个函数。
  27. 然后我要问如果你并行化前3个函数会怎样?如果你并行化所有这些函数又会怎样?