diff --git a/ngraph_bridge/ngraph_backend_manager.cc b/ngraph_bridge/ngraph_backend_manager.cc index 332bd0979..2d5b3d490 100644 --- a/ngraph_bridge/ngraph_backend_manager.cc +++ b/ngraph_bridge/ngraph_backend_manager.cc @@ -30,7 +30,7 @@ BackendManager::~BackendManager() { // initialize backend manager string BackendManager::ng_backend_name_ = "CPU"; mutex BackendManager::ng_backend_name_mutex_; -map BackendManager::ng_backend_map_; +map> BackendManager::ng_backend_map_; mutex BackendManager::ng_backend_map_mutex_; map BackendManager::ref_count_each_backend_; @@ -49,7 +49,6 @@ Status BackendManager::CreateBackend(const string& backend_name) { auto itr = BackendManager::ng_backend_map_.find(backend_name); // if backend does not exist create it if (itr == BackendManager::ng_backend_map_.end()) { - Backend* bend = new Backend; std::shared_ptr bend_ptr; try { bend_ptr = ng::runtime::Backend::create(backend_name); @@ -62,8 +61,9 @@ Status BackendManager::CreateBackend(const string& backend_name) { return errors::Internal("Could not create backend of type ", backend_name); } + std::unique_ptr bend = std::unique_ptr(new Backend); bend->backend_ptr = std::move(bend_ptr); - BackendManager::ng_backend_map_[backend_name] = bend; + BackendManager::ng_backend_map_[backend_name] = std::move(bend); BackendManager::ref_count_each_backend_[backend_name] = 0; } BackendManager::ref_count_each_backend_[backend_name]++; diff --git a/ngraph_bridge/ngraph_backend_manager.h b/ngraph_bridge/ngraph_backend_manager.h index a0b1141da..1e906c8a4 100644 --- a/ngraph_bridge/ngraph_backend_manager.h +++ b/ngraph_bridge/ngraph_backend_manager.h @@ -127,7 +127,7 @@ class BackendManager { static mutex ng_backend_name_mutex_; // map of cached backend objects - static map ng_backend_map_; + static map> ng_backend_map_; static mutex ng_backend_map_mutex_; // Map of backends and their reference counts