典型的な N 体問題である、特定のポテンシャルを受ける粒子の軌道を計算したいと考えています。GPU(CUDAなど)を利用する方法を研究してきましたが、Nが大きい(20000)シミュレーションにメリットがあるようです。通常、最もコストのかかる計算は力を見つけることなので、これは理にかなっています。
ただし、私のシステムには「低い」N (20 未満)、多くの異なるポテンシャル/因子、および多くの時間ステップがあります。このシステムを GPU に移植する価値はありますか?
Fast N-Body Simulation with CUDAの記事に基づくと、異なる計算 (加速度や力など) に対して異なるカーネルを使用することが効率的であると思われます。N が低いシステムの場合、デバイスとの間でのコピーのコストは、各タイム ステップで各カーネルのデバイスからデータをコピーして取得する必要があるため、実際にはかなりの量になるようです。
どんな考えでも大歓迎です。