| 100 | |
| 101 | This computation pattern is repeated during multiple timesteps. The communication pattern |
| 102 | in each timestep consists in the fact that GPU processes exchange their particles with each |
| 103 | other in a circular manner to compute the forces between their particles against the particles |
| 104 | of all other GPU processes. For simplifying this pattern, the application uses a different MPI |
| 105 | communicator for this circular exchanging. Once a GPU process finishes the computation of its |
| 106 | forces, it sends the forces to the corresponding CPU processes, and then, it receives the |
| 107 | updated particles. We perform separate sends/receives for each block. |