}
}
-void* nbnxn_get_x_on_device_event(const gmx_nbnxn_cuda_t *nb)
-{
- return static_cast<void*> (nb->xAvailableOnDevice);
-}
-
void nbnxn_wait_nonlocal_x_copy_D2H_done(gmx_nbnxn_cuda_t *nb)
{
nb->xNonLocalCopyD2HDone->waitForEvent();
stat = cudaEventCreateWithFlags(&nb->misc_ops_and_local_H2D_done, cudaEventDisableTiming);
CU_RET_ERR(stat, "cudaEventCreate on misc_ops_and_local_H2D_done failed");
- nb->xAvailableOnDevice = new GpuEventSynchronizer();
nb->xNonLocalCopyD2HDone = new GpuEventSynchronizer();
/* WARNING: CUDA timings are incorrect with multiple streams.
// local/nonlocal, if there is bonded GPU work, both flags will be true.
gmx::EnumerationArray<Nbnxm::InteractionLocality, bool> haveWork;
-
- GpuEventSynchronizer *xAvailableOnDevice; /**< event triggered when
- coordinate buffer has been
- copied to device by PP task and
- any dependent task (e.g. transfer of coordinates
- to the PME rank's GPU) can proceed. */
-
/*! \brief Pointer to event synchronizer triggered when the local GPU buffer ops / reduction is complete
*
* \note That the synchronizer is managed outside of this module in StatePropagatorDataGpu.
Nbnxm::nbnxnInsertNonlocalGpuDependency(gpu_nbv, interactionLocality);
}
-void* nonbonded_verlet_t::get_x_on_device_event()
-{
- return Nbnxm::nbnxn_get_x_on_device_event(gpu_nbv);
-}
-
void nonbonded_verlet_t::wait_nonlocal_x_copy_D2H_done()
{
Nbnxm::nbnxn_wait_nonlocal_x_copy_D2H_done(gpu_nbv);
*/
void atomdata_init_add_nbat_f_to_f_gpu(GpuEventSynchronizer* localReductionDone);
- /*! \brief return pointer to GPU event recorded when coordinates have been copied to device */
- void* get_x_on_device_event();
-
/*! \brief Wait for non-local copy of coordinate buffer from device to host */
void wait_nonlocal_x_copy_D2H_done();
CUDA_FUNC_QUALIFIER
void nbnxn_wait_x_on_device(gmx_nbnxn_gpu_t gmx_unused *nb) CUDA_FUNC_TERM;
-/*! \brief return pointer to event recorded when coordinates have been copied to device
- * \param[in] nb The nonbonded data GPU structure
- */
-CUDA_FUNC_QUALIFIER
-void* nbnxn_get_x_on_device_event(const gmx_nbnxn_gpu_t gmx_unused *nb) CUDA_FUNC_TERM_WITH_RETURN(nullptr);
-
/*! \brief Wait for non-local copy of coordinate buffer from device to host
* \param[in] nb The nonbonded data GPU structure
*/