useGpuForUpdate = decideWhetherToUseGpuForUpdate(
useDomainDecomposition, useGpuForPme, useGpuForNonbonded, updateTarget,
gpusWereDetected, *inputrec, mtop, doEssentialDynamics,
- gmx_mtop_ftype_count(mtop, F_ORIRES) > 0, replExParams.exchangeInterval > 0);
+ gmx_mtop_ftype_count(mtop, F_ORIRES) > 0, replExParams.exchangeInterval > 0, doRerun);
}
GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR
const gmx_mtop_t& mtop,
const bool useEssentialDynamics,
const bool doOrientationRestraints,
- const bool useReplicaExchange)
+ const bool useReplicaExchange,
+ const bool doRerun)
{
if (updateTarget == TaskTarget::Cpu)
{
errorMessage += "Swapping the coordinates is not supported.\n";
}
+ if (doRerun)
+ {
+ errorMessage += "Re-run is not supported.\n";
+ }
// TODO: F_CONSTRNC is only unsupported, because isNumCoupledConstraintsSupported()
// does not support it, the actual CUDA LINCS code does support it
* \param[in] useEssentialDynamics If essential dynamics is active.
* \param[in] doOrientationRestraints If orientation restraints are enabled.
* \param[in] useReplicaExchange If this is a REMD simulation.
+ * \param[in] doRerun It this is a rerun.
*
* \returns Whether complete simulation can be run on GPU.
* \throws std::bad_alloc If out of memory
const gmx_mtop_t& mtop,
bool useEssentialDynamics,
bool doOrientationRestraints,
- bool useReplicaExchange);
+ bool useReplicaExchange,
+ bool doRerun);
} // namespace gmx