Computation of numerical method is inherently iterative: at each time step, the solution depends on the immediately preceding one.
|
At each time step, Grav/MPGrav is called (several times as using Runge Kutta):
-
For each particle i, one must sum over the forces due to all other particles j.
-
Computation is O(N2) - potential for parallel computation in either i (Message Parallel) or j or both (Data parallel if needed).
|
We will use 4th order Runge Kutta to integrate in time and the program is designed an overall routine looping over time with parallelism hidden in Grav/MPGrav routines
|
We first analyse Data Parallel (starting with classic SIMD method) and then go through Message Parallel version
|