From d99a673ddfdce3252cf457a6ce438d8ff3fff61c Mon Sep 17 00:00:00 2001 From: Serge Panev Date: Fri, 14 Aug 2020 16:32:22 -0700 Subject: [PATCH] Change Partition API's options_map to std::unordered_map Signed-off-by: Serge Panev --- src/c_api/c_api.cc | 5 +++-- src/c_api/c_api_symbolic.cc | 4 ++-- src/operator/subgraph/partitioner/custom_subgraph_property.h | 2 +- src/operator/subgraph/subgraph_property.h | 2 +- src/operator/subgraph/tensorrt/tensorrt-inl.h | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/c_api/c_api.cc b/src/c_api/c_api.cc index 1e78eac90d3c..23049f1b8867 100644 --- a/src/c_api/c_api.cc +++ b/src/c_api/c_api.cc @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "dmlc/base.h" #include "dmlc/logging.h" @@ -1263,8 +1264,8 @@ void registerPasses(void *lib, int verbose, mxnet::ext::msgSize_t msgSize, // get pass name const char* pass_name = g.GetAttr("pass_name"); // get options - const std::vector>& options_map = - g.GetAttr>>("options_map"); + const std::unordered_map& options_map = + g.GetAttr>("options_map"); // convert options_map_ to char* to pass to backend library std::vector opt_keys, opt_vals; for (auto& kv : options_map) { diff --git a/src/c_api/c_api_symbolic.cc b/src/c_api/c_api_symbolic.cc index 06f956bc20e9..caee7626c8dd 100644 --- a/src/c_api/c_api_symbolic.cc +++ b/src/c_api/c_api_symbolic.cc @@ -1504,9 +1504,9 @@ int MXOptimizeForBackend(SymbolHandle sym_handle, g.attrs["in_aux_names"] = std::make_shared(aux_names); } // create a data structure from pointer array - std::vector> options_map; + std::unordered_map options_map; for (mx_uint i = 0; i < num_options; ++i) - options_map.emplace_back(keys[i], vals[i]); + options_map.emplace(keys[i], vals[i]); if (mxnet::op::SubgraphBackendRegistry::Get()->backend_map_.count(backend_name) > 0) { // use subgraph backend diff --git a/src/operator/subgraph/partitioner/custom_subgraph_property.h b/src/operator/subgraph/partitioner/custom_subgraph_property.h index b936b050cdba..f2d715b52432 100644 --- a/src/operator/subgraph/partitioner/custom_subgraph_property.h +++ b/src/operator/subgraph/partitioner/custom_subgraph_property.h @@ -189,7 +189,7 @@ class CustomSubgraphProperty: public SubgraphProperty { } void PrePartition(const nnvm::Graph& g, - const std::vector>& options_map) { + const std::unordered_map& options_map) { // clear supported_nodes to remove state from previous calls supported_nodes.clear(); // get input args and arg names diff --git a/src/operator/subgraph/subgraph_property.h b/src/operator/subgraph/subgraph_property.h index 5e87626659bf..7fadfca2ea97 100644 --- a/src/operator/subgraph/subgraph_property.h +++ b/src/operator/subgraph/subgraph_property.h @@ -269,7 +269,7 @@ class SubgraphProperty { } virtual void PrePartition(const nnvm::Graph& g, - const std::vector>& options_map) {} + const std::unordered_map& options_map) {} virtual void PostPartition(const nnvm::Graph& g) {} diff --git a/src/operator/subgraph/tensorrt/tensorrt-inl.h b/src/operator/subgraph/tensorrt/tensorrt-inl.h index 3119d31fa909..79e3d82dfc26 100644 --- a/src/operator/subgraph/tensorrt/tensorrt-inl.h +++ b/src/operator/subgraph/tensorrt/tensorrt-inl.h @@ -268,7 +268,7 @@ class TensorrtProperty : public SubgraphProperty { } void PrePartition(const nnvm::Graph& g, - const std::vector>& options_map) override { + const std::unordered_map& options_map) override { auto& in_arg_names = g.GetAttr>("in_arg_names"); auto& in_aux_names = g.GetAttr>("in_aux_names"); NDArray **in_args_ptr = g.GetAttr("in_args");