void wcycle_set_reset_counters(gmx_wallcycle_t wc, gmx_large_int_t reset_counters);
/* Set reset_counters */
-/* Uncomment the next line to get extra cycle counters of sub parts */
-/* #define GMX_CYCLE_SUBCOUNTERS */
-
-#ifdef GMX_CYCLE_SUBCOUNTERS
-
void wallcycle_sub_start(gmx_wallcycle_t wc, int ewcs);
/* Set the start sub cycle count for ewcs */
void wallcycle_sub_stop(gmx_wallcycle_t wc, int ewcs);
/* Stop the sub cycle count for ewcs */
-#else
-/* Define the counter call to nothing to avoid any effect on performance */
-#define wallcycle_sub_start(wc, ewcs)
-#define wallcycle_sub_stop(wc, ewcs)
-#endif
-
#ifdef __cplusplus
}
#endif
gmx_enerdata_t *enerd,
int flags, int ilocality,
int clearF,
- t_nrnb *nrnb)
+ t_nrnb *nrnb,
+ gmx_wallcycle_t wcycle)
{
int nnbl, kernel_type, enr_nbnxn_kernel_ljc, enr_nbnxn_kernel_lj;
char *env;
wallcycle_start(wcycle, ewcLAUNCH_GPU_NB);
/* launch local nonbonded F on GPU */
do_nb_verlet(fr, ic, enerd, flags, eintLocal, enbvClearFNo,
- nrnb);
+ nrnb, wcycle);
wallcycle_stop(wcycle, ewcLAUNCH_GPU_NB);
}
wallcycle_start(wcycle, ewcLAUNCH_GPU_NB);
/* launch non-local nonbonded F on GPU */
do_nb_verlet(fr, ic, enerd, flags, eintNonlocal, enbvClearFNo,
- nrnb);
+ nrnb, wcycle);
cycles_force += wallcycle_stop(wcycle, ewcLAUNCH_GPU_NB);
}
}
{
/* Maybe we should move this into do_force_lowlevel */
do_nb_verlet(fr, ic, enerd, flags, eintLocal, enbvClearFYes,
- nrnb);
+ nrnb, wcycle);
}
if (!bUseOrEmulGPU || bDiffKernels)
{
do_nb_verlet(fr, ic, enerd, flags, eintNonlocal,
bDiffKernels ? enbvClearFYes : enbvClearFNo,
- nrnb);
+ nrnb, wcycle);
}
if (!bUseOrEmulGPU)
{
wallcycle_start_nocount(wcycle, ewcFORCE);
do_nb_verlet(fr, ic, enerd, flags, eintNonlocal, enbvClearFYes,
- nrnb);
+ nrnb, wcycle);
cycles_force += wallcycle_stop(wcycle, ewcFORCE);
}
wallcycle_start(wcycle, ewcNB_XF_BUF_OPS);
wallcycle_start_nocount(wcycle, ewcFORCE);
do_nb_verlet(fr, ic, enerd, flags, eintLocal,
DOMAINDECOMP(cr) ? enbvClearFNo : enbvClearFYes,
- nrnb);
+ nrnb, wcycle);
wallcycle_stop(wcycle, ewcFORCE);
}
wallcycle_start(wcycle, ewcNB_XF_BUF_OPS);