Chinese, Simplified subtitles

← cs344_unit5_24_q_利特尔法则

Get Embed Code
2 Languages

Showing Revision 2 created 05/16/2013 by Lian7.

  1. 让我们后退一点来提醒我们,
    为什么我们以我们的方式关注内存。
  2. 当然,我们的中心目标只是为了让代码快速运行。
  3. 所以我们说很棒,GPU很快,让我们使用那些。但为什么它们速度快?
  4. GPU很快,第一,因为它们是大规模并行,在单个芯片上有成百上千的
  5. 处理器为你解决问题,而且还因为它们有
  6. 一个极高带宽的内存系统,来供给那些大规模并行处理器,对吗?
  7. 因此,如果内存系统不能将数据传递到所有这些处理器,
  8. 并且存储所有这些处理器的结果,那我们就不能让我们的GPU 全速工作。
  9. 这就是为什么,在一个内存受限的内核上,比如转置,
  10. 我们的子目标其实是利用所有可用的内存带宽。
  11. 因此我们注重全局内存合并、DRAM 利用率,等等。
  12. 现在我很想严格点地问一个问题。
  13. 我们说利用所有可用的内存带宽是什么意思?
  14. 这会把我们带到一个非常重要、 非常简单的原则,叫利特尔法则。
  15. 让我们请有才的金•迪拉来为我们说明这一点。
  16. 约翰•利特尔现在是一名学习市场营销的麻省理工学院教授。

  17. 他在撰写业务流程中的排队理论时,
    构想了以他名字命名的法则。
  18. 利特尔法则通常用于推断某些事情,例如优化
  19. 星巴克排队的顾客数量,或者也许一个工厂里队列的长度。
  20. 但利特尔法则真的很普遍,能应用
  21. 于很多事情,包括计算机中的内存系统。
  22. 在这种背景下,利特尔法则规定传送的字节数
  23. 等于每个内存事务的平均延迟时间乘以带宽。
  24. 让我们更准确一点并强调
  25. 我们关心传送的有用字节,以及未合并全局内存访问的问题
  26. 在于不是每个内存事务的所有字节都实际被使用。
  27. 这就是为什么合并全局内存访问帮助
  28. 确保在内存事务中传递的每一个字节将被使用。
  29. 所以鉴于这一定义,我们可以做什么来改善我们的带宽?让我们勾选所有适用的选项。
  30. 我们可以增加传递的字节数,我们可以增加延迟时间——
  31. 指每个内存事务间的时间——我们可以减少
  32. 传递的字节数,或者我们可以减少延迟或者事务之间的时间。