#include "locality.h"
class GpuEventSynchronizer;
+struct gmx_wallcycle;
namespace gmx
{
* \param[in] deviceContext Device context, nullptr allowed.
* \param[in] transferKind H2D/D2H transfer call behavior (synchronous or not).
* \param[in] paddingSize Padding size for coordinates buffer.
+ * \param[in] wcycle Wall cycle counter data.
*/
StatePropagatorDataGpu(const void* pmeStream,
const void* localStream,
const void* nonLocalStream,
const void* deviceContext,
GpuApiCallBehavior transferKind,
- int paddingSize);
+ int paddingSize,
+ gmx_wallcycle* wcycle);
/*! \brief Constructor to use in PME-only rank and in tests.
*
* \param[in] deviceContext Device context, nullptr allowed for non-OpenCL builds.
* \param[in] transferKind H2D/D2H transfer call behavior (synchronous or not).
* \param[in] paddingSize Padding size for coordinates buffer.
+ * \param[in] wcycle Wall cycle counter data.
*/
StatePropagatorDataGpu(const void* pmeStream,
const void* deviceContext,
GpuApiCallBehavior transferKind,
- int paddingSize);
+ int paddingSize,
+ gmx_wallcycle* wcycle);
//! Move constructor
StatePropagatorDataGpu(StatePropagatorDataGpu&& other) noexcept;