YouTube

Got a YouTube account?

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

Chinese, Simplified subtitles

← 如何尽可能容易地实现稠密n体

Get Embed Code
2 Languages

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

  1. 我们开始看看我们如何能尽可能简单地实现这个,
  2. 我们开始把这计算想成在NxN矩阵上工作。
  3. 在X轴上的N体是每个力的源,
  4. 在Y轴上的N体是每个力的目标。
  5. 源和终点对象当然是相同的对象。
  6. 这就是我们如何组织计算。
  7. 所以在位置X、Y的矩阵元素
  8. 代表源元素X运用在目标元素Y的力,
  9. 我们要做的是计算
  10. 来自每个目标对象的所有源对象的总力。
  11. 问题的公式化展示了很多并行度。
  12. 每个N平方的力可以并行计算。
  13. 我们刚加载源和目标线程的参数,进行一种特殊计算,
  14. 计算力,例如用万有引力。
  15. 这需要为每个对象指定参数。
  16. 对于重力,参数是,例如质量和位置X、Y、Z。
  17. 然后每个对象,例如对象Y,必须加和所有对它作用的力。
  18. 接着,我们得计算N个力的N个下降,也是并行的。
  19. 因为我们要在几万到几十万,可能甚至几百万个元素上运行,
  20. 我们可以看到我们有大量并行度可以开发。
  21. 在这种情况下,计算很简单。
  22. 你会看到如果我们以这种方式运行,那么我们没有很好地利用我们的内存带宽,
  23. 所以如果我们假设所有的N平方的力的并行计算必须到全局内存,
  24. 用N的函数表示,每个元素我们必须取多少次?