diff --git a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc index 873632ae90..50898735c3 100644 --- a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc +++ b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.cc @@ -173,19 +173,6 @@ void LBManager::setLoadModel(std::shared_ptr model) { nlb_data->getUserData()); } -template -LBManager::LBProxyType -LBManager::makeLB(std::string const& lb_name) { - auto proxy = theObjGroup()->makeCollective(lb_name); - auto strat = proxy.get(); - strat->init(proxy); - auto base_proxy = proxy.template castToBase(); - - destroy_lb_ = [proxy]{ proxy.destroyCollective(); }; - - return base_proxy; -} - void LBManager::defaultPostLBWork(ReassignmentMsg* msg) { auto reassignment = msg->reassignment; auto phase = msg->phase; diff --git a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.h b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.h index 020a689b03..d8b34ddde7 100644 --- a/src/vt/vrt/collection/balance/lb_invoke/lb_manager.h +++ b/src/vt/vrt/collection/balance/lb_invoke/lb_manager.h @@ -231,7 +231,16 @@ struct LBManager : runtime::component::Component { * \return objgroup proxy to the new load balancer */ template - LBProxyType makeLB(std::string const& lb_name = {}); + LBProxyType makeLB(std::string const& lb_name = {}) { + auto proxy = theObjGroup()->makeCollective(lb_name); + auto strat = proxy.get(); + strat->init(proxy); + auto base_proxy = proxy.template castToBase(); + + destroy_lb_ = [proxy]{ proxy.destroyCollective(); }; + + return base_proxy; + } protected: /**