* \param[in] calcVirial If the virial should be computed.
* \param[in] testDescription Brief description that will be printed in case of test failure.
*/
-void applySettleGpu(SettleTestData *testData,
- const t_pbc pbc,
- const bool updateVelocities,
- const bool calcVirial,
- gmx_unused const std::string &testDescription)
+void applySettleGpu(SettleTestData* testData,
+ const t_pbc pbc,
+ const bool updateVelocities,
+ const bool calcVirial,
+ gmx_unused const std::string& testDescription)
{
// These should never fail since this function should only be called if CUDA is enabled and
// there is a CUDA-capable device available.
- GMX_RELEASE_ASSERT(GMX_GPU == GMX_GPU_CUDA, "CUDA version of SETTLE was called from non-CUDA build.");
+ GMX_RELEASE_ASSERT(GMX_GPU == GMX_GPU_CUDA,
+ "CUDA version of SETTLE was called from non-CUDA build.");
// TODO: Here we should check that at least 1 suitable GPU is available
GMX_RELEASE_ASSERT(canPerformGpuDetection(), "Can't detect CUDA-capable GPUs.");
settleCuda->setPbc(&pbc);
settleCuda->set(testData->idef_, testData->mdatoms_);
- int numAtoms = testData->mdatoms_.homenr;
+ int numAtoms = testData->mdatoms_.homenr;
float3 *d_x, *d_xp, *d_v;
- float3 *h_x = (float3*)(as_rvec_array(testData->x_.data()));
- float3 *h_xp = (float3*)(as_rvec_array(testData->xPrime_.data()));
- float3 *h_v = (float3*)(as_rvec_array(testData->v_.data()));
+ float3* h_x = (float3*)(as_rvec_array(testData->x_.data()));
+ float3* h_xp = (float3*)(as_rvec_array(testData->xPrime_.data()));
+ float3* h_v = (float3*)(as_rvec_array(testData->v_.data()));
- allocateDeviceBuffer(&d_x, numAtoms, nullptr);
+ allocateDeviceBuffer(&d_x, numAtoms, nullptr);
allocateDeviceBuffer(&d_xp, numAtoms, nullptr);
- allocateDeviceBuffer(&d_v, numAtoms, nullptr);
+ allocateDeviceBuffer(&d_v, numAtoms, nullptr);
copyToDeviceBuffer(&d_x, (float3*)h_x, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr);
copyToDeviceBuffer(&d_xp, (float3*)h_xp, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr);
{
copyToDeviceBuffer(&d_v, (float3*)h_v, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr);
}
- settleCuda->apply(d_x, d_xp,
- updateVelocities, d_v, testData->reciprocalTimeStep_,
- calcVirial, testData->virial_);
+ settleCuda->apply(d_x, d_xp, updateVelocities, d_v, testData->reciprocalTimeStep_, calcVirial,
+ testData->virial_);
copyFromDeviceBuffer((float3*)h_xp, &d_xp, 0, numAtoms, nullptr, GpuApiCallBehavior::Sync, nullptr);
if (updateVelocities)
freeDeviceBuffer(&d_x);
freeDeviceBuffer(&d_xp);
freeDeviceBuffer(&d_v);
-
}
} // namespace test