资 源 简 介
应用背景在GPU上实现N-BODY算法。N-Body模拟问题覆盖了自然科学的很多领域,从宇观的天体物理到宏观的流体动力学,直至微观的分子动力学。例如通过研究围绕着银河系的暗物质晕轮的形状和动力学特征来探索银河系形成过程,需要模拟数百万的星体和暗物质间的作用。现代生物物理学和化学中的许多研究,如细菌或植物体的光合作用膜处发生的光能向化学能的转化,染色体中DNA和蛋白质分子的描述,都需要模拟上千万的原子核分子的作用。关键技术N-Body问题的两个重要特征是: 第一点.计算规模大,因为无论是宇观的天体尺寸还是微观的分 子尺度.都包含了大量的粒子,粒子的规模大到数百万、千万。由于在 系统中任意的两个粒子问都存在着相互作用,因此商接计算粒子间的 相互作用的量级就是O(N^2); 第二点.系统是动态变化的。为了反应系统的具体变化.尤其是在微观分子结构中.要求时间步足够小。这两个特征决定了计算机模拟 时巨大的计算量。这对于任何扁性能的单台计算机来说都是一个很难突破的瓶颈.因此采用并行汁算是解决N-Body问题的必然选择。主要涉及数据划分和线程任务划分实现。