我想计算受某些势能影响的粒子的轨迹,这是一个典型的 N 体问题。我一直在研究利用 GPU(例如 CUDA)的方法,它们似乎有利于大 N(20000)的模拟。这是有道理的,因为最昂贵的计算通常是找到力。
但是,我的系统将具有“低”N(小于 20)、许多不同的潜力/因素和许多时间步长。将此系统移植到 GPU 是否值得?
根据Fast N-Body Simulation with CUDA 一文,对于不同的计算(例如加速度和力)使用不同的内核似乎是有效的。对于具有低 N 的系统,似乎从设备复制到/从设备的成本实际上是巨大的,因为对于每个时间步,必须为每个内核从设备复制和检索数据。
任何想法将不胜感激。