This file contains function definitions necessary for managing the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ).
- Author
- Berk Hess hess@.nosp@m.kth..nosp@m.se
|
static void | gmx_pme_send_coeffs_coords_wait (gmx_domdec_t *dd) |
| Wait for the pending data send requests to PME ranks to complete.
|
|
static void | gmx_pme_send_coeffs_coords (t_commrec *cr, unsigned int flags, real *chargeA, real *chargeB, real *c6A, real *c6B, real *sigmaA, real *sigmaB, matrix box, rvec *x, real lambda_q, real lambda_lj, int maxshift_x, int maxshift_y, gmx_int64_t step) |
| Send data to PME ranks.
|
|
void | gmx_pme_send_parameters (t_commrec *cr, const interaction_const_t *ic, gmx_bool bFreeEnergy_q, gmx_bool bFreeEnergy_lj, real *chargeA, real *chargeB, real *sqrt_c6A, real *sqrt_c6B, real *sigmaA, real *sigmaB, int maxshift_x, int maxshift_y) |
| Send the charges and maxshift to out PME-only node.
|
|
void | gmx_pme_send_coordinates (t_commrec *cr, matrix box, rvec *x, real lambda_q, real lambda_lj, gmx_bool bEnerVir, gmx_int64_t step) |
| Send the coordinates to our PME-only node and request a PME calculation.
|
|
void | gmx_pme_send_finish (t_commrec *cr) |
| Tell our PME-only node to finish.
|
|
void | gmx_pme_send_switchgrid (t_commrec *cr, ivec grid_size, real ewaldcoeff_q, real ewaldcoeff_lj) |
| Tell our PME-only node to switch to a new grid size.
|
|
void | gmx_pme_send_resetcounters (t_commrec *cr, gmx_int64_t step) |
| Tell our PME-only node to reset all cycle and flop counters.
|
|
static void | receive_virial_energy (t_commrec *cr, gmx::ForceWithVirial *forceWithVirial, real *energy_q, real *energy_lj, real *dvdlambda_q, real *dvdlambda_lj, float *pme_cycles) |
| Receive virial and energy from PME rank.
|
|
void | gmx_pme_receive_f (t_commrec *cr, gmx::ForceWithVirial *forceWithVirial, real *energy_q, real *energy_lj, real *dvdlambda_q, real *dvdlambda_lj, float *pme_cycles) |
| PP nodes receive the long range forces from the PME nodes.
|
|