Implements PME GPU timing events wrappers.
- Author
- Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
Copies the PME GPU timings to the gmx_wallclock_gpu_t structure (for log output). To be called at the run end.
- Parameters
-
void pme_gpu_reinit_timings |
( |
const PmeGpu * |
pmeGpu | ) |
|
Updates the internal list of active PME GPU stages (if timings are enabled).
- Parameters
-
[in] | pmeGpu | The PME GPU data structure. |
void pme_gpu_reset_timings |
( |
const PmeGpu * |
pmeGpu | ) |
|
Resets the PME GPU timings. To be called at the reset MD step.
- Parameters
-
[in] | pmeGpu | The PME GPU structure. |
void pme_gpu_start_timing |
( |
const PmeGpu * |
pmeGpu, |
|
|
PmeStage |
pmeStageId |
|
) |
| |
|
strong |
Starts timing the certain PME GPU stage during a single computation (if timings are enabled).
- Parameters
-
[in] | pmeGpu | The PME GPU data structure. |
[in] | pmeStageId | The PME GPU stage gtPME_ index from the enum in src/gromacs/timing/gpu_timing.h |
void pme_gpu_stop_timing |
( |
const PmeGpu * |
pmeGpu, |
|
|
PmeStage |
pmeStageId |
|
) |
| |
Stops timing the certain PME GPU stage during a single computation (if timings are enabled).
- Parameters
-
[in] | pmeGpu | The PME GPU data structure. |
[in] | pmeStageId | The PME GPU stage gtPME_ index from the enum in src/gromacs/timing/gpu_timing.h |
bool pme_gpu_timings_enabled |
( |
const PmeGpu * |
pmeGpu | ) |
|
Tells if CUDA-based performance tracking is enabled for PME.
- Parameters
-
[in] | pmeGpu | The PME GPU data structure. |
- Returns
- True if timings are enabled, false otherwise.
void pme_gpu_update_timings |
( |
const PmeGpu * |
pmeGpu | ) |
|
Finalizes all the active PME GPU stage timings for the current computation. Should be called at the end of every computation.
- Parameters
-
[in] | pmeGpu | The PME GPU structure. |