bool directGpuCommUsedWithGpuUpdate);
//! Build the resulting DD manager
- gmx_domdec_t* build(LocalAtomSetManager* atomSets);
+ gmx_domdec_t* build(LocalAtomSetManager* atomSets,
+ const gmx_localtop_t& localTopology,
+ const t_state& localState,
+ ObservablesReducerBuilder* observablesReducerBuilder);
//! Objects used in constructing and configuring DD
//! {
mdlog_, ddSettings_, options_.rankOrder, ddRankSetup_, cr_, ddCellIndex_, &pmeRanks_);
}
-gmx_domdec_t* DomainDecompositionBuilder::Impl::build(LocalAtomSetManager* atomSets)
+gmx_domdec_t* DomainDecompositionBuilder::Impl::build(LocalAtomSetManager* atomSets,
+ const gmx_localtop_t& localTopology,
+ const t_state& localState,
+ ObservablesReducerBuilder* observablesReducerBuilder)
{
gmx_domdec_t* dd = new gmx_domdec_t(ir_);
dd->atomSets = atomSets;
dd->localTopologyChecker = std::make_unique<LocalTopologyChecker>(
- mdlog_, cr_, mtop_, dd->comm->systemInfo.useUpdateGroups);
+ mdlog_, cr_, mtop_, localTopology, localState, dd->comm->systemInfo.useUpdateGroups, observablesReducerBuilder);
return dd;
}
{
}
-gmx_domdec_t* DomainDecompositionBuilder::build(LocalAtomSetManager* atomSets)
+gmx_domdec_t* DomainDecompositionBuilder::build(LocalAtomSetManager* atomSets,
+ const gmx_localtop_t& localTopology,
+ const t_state& localState,
+ ObservablesReducerBuilder* observablesReducerBuilder)
{
- return impl_->build(atomSets);
+ return impl_->build(atomSets, localTopology, localState, observablesReducerBuilder);
}
DomainDecompositionBuilder::~DomainDecompositionBuilder() = default;
}
}
-const gmx::LocalTopologyChecker& dd_localTopologyChecker(const gmx_domdec_t& dd)
-{
- return *dd.localTopologyChecker;
-}
-
-gmx::LocalTopologyChecker* dd_localTopologyChecker(gmx_domdec_t* dd)
-{
- return dd->localTopologyChecker.get();
-}
-
void dd_init_local_state(const gmx_domdec_t& dd, const t_state* state_global, t_state* state_local)
{
std::array<int, 5> buf;