我希望计算受特定势能影响的粒子的轨迹,这是一个典型的N体问题。我一直在研究利用GPU(例如CUDA)的方法,并且它们似乎有益于具有大N(20000)的模拟。这是有道理的,因为最昂贵的计算通常是找到力。然而,我的系统将具有“低”N(少于20),许多不同的势能/因素和许多时间步骤。将此系统移植到GPU是否值得?
根据使用CUDA进行快速N-Body模拟文章,似乎为不同的计算(如加速度和力)使用不同的内核是有效的。对于低N系统,由于每个时间步骤都需要为每个内核从设备复制和检索数据,因此从设备复制和检索数据的成本实际上是相当显著的。
非常感谢您的任何想法。
parallell_for
属性尝试两个选项。 - einpoklum