*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013-2020, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2016,2017 The GROMACS development team.
+ * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_MDLIB_FORCEREC_H
#define GMX_MDLIB_FORCEREC_H
-#include "gromacs/mdlib/force_flags.h"
-#include "gromacs/mdlib/tgroup.h"
-#include "gromacs/mdlib/vsite.h"
-#include "gromacs/mdtypes/forcerec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/utility/arrayref.h"
-struct gmx_device_info_t;
+struct DeviceInformation;
struct gmx_hw_info_t;
struct t_commrec;
struct t_fcdata;
+struct t_forcerec;
struct t_filenm;
struct t_inputrec;
struct gmx_gpu_info_t;
+struct gmx_localtop_t;
+struct gmx_mtop_t;
struct gmx_wallcycle;
+struct interaction_const_t;
namespace gmx
{
class PhysicalNodeCommunicator;
} // namespace gmx
-//! Destroy a forcerec.
-void done_forcerec(t_forcerec* fr, int numMolBlocks);
-
/*! \brief Print the contents of the forcerec to a file
*
* \param[in] fplog The log file to print to
* \param[in] tabfn Table potential file for non-bonded interactions
* \param[in] tabpfn Table potential file for pair interactions
* \param[in] tabbfnm Table potential files for bonded interactions
- * \param[in] hardwareInfo Information about hardware
- * \param[in] deviceInfo Info about GPU device to use for short-ranged work
- * \param[in] useGpuForBonded Whether bonded interactions will run on a GPU
- * \param[in] pmeOnlyRankUsesGpu Whether there is a PME task on a GPU on a PME-only rank
* \param[in] print_force Print forces for atoms with force >= print_force
- * \param[out] wcycle Pointer to cycle counter object
*/
void init_forcerec(FILE* fplog,
const gmx::MDLogger& mdlog,
const char* tabfn,
const char* tabpfn,
gmx::ArrayRef<const std::string> tabbfnm,
- const gmx_hw_info_t& hardwareInfo,
- const gmx_device_info_t* deviceInfo,
- bool useGpuForBonded,
- bool pmeOnlyRankUsesGpu,
- real print_force,
- gmx_wallcycle* wcycle);
+ real print_force);
/*! \brief Check whether molecules are ever distributed over PBC boundaries
*
*/
void forcerec_set_excl_load(t_forcerec* fr, const gmx_localtop_t* top);
-void free_gpu_resources(t_forcerec* fr,
- const gmx::PhysicalNodeCommunicator& physicalNodeCommunicator,
- const gmx_gpu_info_t& gpu_info);
-
#endif