From: @zhoufeng54 Reviewed-by: @xu-yfei,@kisnwang Signed-off-by: @xu-yfeitags/v1.2.0-rc1
| @@ -1,8 +1,15 @@ | |||||
| set(glog_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_CXX_FLAGS}") | |||||
| set(glog_CXXFLAGS "-D_FORTIFY_SOURCE=2 -O2 ${SECURE_CXX_FLAGS} -Dgoogle=mindspore_private") | |||||
| set(glog_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") | |||||
| if(NOT ENABLE_GLIBCXX) | if(NOT ENABLE_GLIBCXX) | ||||
| set(glog_CXXFLAGS "${glog_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") | set(glog_CXXFLAGS "${glog_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") | ||||
| endif() | endif() | ||||
| set(glog_CFLAGS "-D_FORTIFY_SOURCE=2 -O2") | |||||
| if(BUILD_LITE) | |||||
| set(glog_patch "") | |||||
| set(glog_lib glog) | |||||
| else() | |||||
| set(glog_patch ${CMAKE_SOURCE_DIR}/third_party/patch/glog/glog.patch001) | |||||
| set(glog_lib mindspore_glog) | |||||
| endif() | |||||
| if(ENABLE_GITEE) | if(ENABLE_GITEE) | ||||
| set(REQ_URL "https://gitee.com/mirrors/glog/repository/archive/v0.4.0.tar.gz") | set(REQ_URL "https://gitee.com/mirrors/glog/repository/archive/v0.4.0.tar.gz") | ||||
| set(MD5 "22fe340ddc231e6c8e46bc295320f8ee") | set(MD5 "22fe340ddc231e6c8e46bc295320f8ee") | ||||
| @@ -10,11 +17,13 @@ else() | |||||
| set(REQ_URL "https://github.com/google/glog/archive/v0.4.0.tar.gz") | set(REQ_URL "https://github.com/google/glog/archive/v0.4.0.tar.gz") | ||||
| set(MD5 "0daea8785e6df922d7887755c3d100d0") | set(MD5 "0daea8785e6df922d7887755c3d100d0") | ||||
| endif() | endif() | ||||
| mindspore_add_pkg(glog | mindspore_add_pkg(glog | ||||
| VER 0.4.0 | VER 0.4.0 | ||||
| LIBS glog | |||||
| LIBS ${glog_lib} | |||||
| URL ${REQ_URL} | URL ${REQ_URL} | ||||
| MD5 ${MD5} | MD5 ${MD5} | ||||
| PATCHES ${glog_patch} | |||||
| CMAKE_OPTION -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_GFLAGS=OFF) | CMAKE_OPTION -DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DWITH_GFLAGS=OFF) | ||||
| include_directories(${glog_INC}) | include_directories(${glog_INC}) | ||||
| add_library(mindspore::glog ALIAS glog::glog) | |||||
| add_library(mindspore::glog ALIAS glog::${glog_lib}) | |||||
| @@ -76,7 +76,7 @@ install( | |||||
| ) | ) | ||||
| if(USE_GLOG) | if(USE_GLOG) | ||||
| file(GLOB_RECURSE GLOG_LIB_LIST ${glog_LIBPATH}/libglog*) | |||||
| file(GLOB_RECURSE GLOG_LIB_LIST ${glog_LIBPATH}/libmindspore_glog*) | |||||
| install( | install( | ||||
| FILES ${GLOG_LIB_LIST} | FILES ${GLOG_LIB_LIST} | ||||
| DESTINATION ${INSTALL_LIB_DIR} | DESTINATION ${INSTALL_LIB_DIR} | ||||
| @@ -136,12 +136,15 @@ class MS_API Ascend310DeviceInfo : public DeviceInfoContext { | |||||
| inline void SetDumpConfigPath(const std::string &cfg_path); | inline void SetDumpConfigPath(const std::string &cfg_path); | ||||
| inline std::string GetDumpConfigPath() const; | inline std::string GetDumpConfigPath() const; | ||||
| // aipp config file | |||||
| inline void SetInsertOpConfigPath(const std::string &cfg_path); | inline void SetInsertOpConfigPath(const std::string &cfg_path); | ||||
| inline std::string GetInsertOpConfigPath() const; | inline std::string GetInsertOpConfigPath() const; | ||||
| // nchw or nhwc | |||||
| inline void SetInputFormat(const std::string &format); | inline void SetInputFormat(const std::string &format); | ||||
| inline std::string GetInputFormat() const; | inline std::string GetInputFormat() const; | ||||
| // Mandatory while dynamic batch: e.g. "input_op_name1: 1,2,3,4;input_op_name2: 4,3,2,1" | |||||
| inline void SetInputShape(const std::string &shape); | inline void SetInputShape(const std::string &shape); | ||||
| inline std::string GetInputShape() const; | inline std::string GetInputShape() const; | ||||
| @@ -151,18 +154,25 @@ class MS_API Ascend310DeviceInfo : public DeviceInfoContext { | |||||
| void SetDynamicBatchSize(const std::vector<size_t> &dynamic_batch_size); | void SetDynamicBatchSize(const std::vector<size_t> &dynamic_batch_size); | ||||
| inline std::string GetDynamicBatchSize() const; | inline std::string GetDynamicBatchSize() const; | ||||
| // FP32, UINT8 or FP16, default as FP32 | |||||
| void SetOutputType(enum DataType output_type); | void SetOutputType(enum DataType output_type); | ||||
| enum DataType GetOutputType() const; | enum DataType GetOutputType() const; | ||||
| // "force_fp16", "allow_fp32_to_fp16", "must_keep_origin_dtype" or "allow_mix_precision", default as "force_fp16" | |||||
| inline void SetPrecisionMode(const std::string &precision_mode); | inline void SetPrecisionMode(const std::string &precision_mode); | ||||
| inline std::string GetPrecisionMode() const; | inline std::string GetPrecisionMode() const; | ||||
| // Optional "high_performance" and "high_precision", "high_performance" is set as default | |||||
| inline void SetOpSelectImplMode(const std::string &op_select_impl_mode); | inline void SetOpSelectImplMode(const std::string &op_select_impl_mode); | ||||
| inline std::string GetOpSelectImplMode() const; | inline std::string GetOpSelectImplMode() const; | ||||
| inline void SetFusionSwitchConfigPath(const std::string &cfg_path); | inline void SetFusionSwitchConfigPath(const std::string &cfg_path); | ||||
| inline std::string GetFusionSwitchConfigPath() const; | inline std::string GetFusionSwitchConfigPath() const; | ||||
| // Optional "l1_optimize", "l2_optimize", "off_optimize" or "l1_and_l2_optimize", default as "l2_optimize" | |||||
| inline void SetBufferOptimizeMode(const std::string &buffer_optimize_mode); | |||||
| inline std::string GetBufferOptimizeMode() const; | |||||
| private: | private: | ||||
| void SetDumpConfigPath(const std::vector<char> &cfg_path); | void SetDumpConfigPath(const std::vector<char> &cfg_path); | ||||
| std::vector<char> GetDumpConfigPathChar() const; | std::vector<char> GetDumpConfigPathChar() const; | ||||
| @@ -186,6 +196,9 @@ class MS_API Ascend310DeviceInfo : public DeviceInfoContext { | |||||
| void SetFusionSwitchConfigPath(const std::vector<char> &cfg_path); | void SetFusionSwitchConfigPath(const std::vector<char> &cfg_path); | ||||
| std::vector<char> GetFusionSwitchConfigPathChar() const; | std::vector<char> GetFusionSwitchConfigPathChar() const; | ||||
| void SetBufferOptimizeMode(const std::vector<char> &buffer_optimize_mode); | |||||
| std::vector<char> GetBufferOptimizeModeChar() const; | |||||
| }; | }; | ||||
| void Ascend310DeviceInfo::SetDumpConfigPath(const std::string &cfg_path) { SetDumpConfigPath(StringToChar(cfg_path)); } | void Ascend310DeviceInfo::SetDumpConfigPath(const std::string &cfg_path) { SetDumpConfigPath(StringToChar(cfg_path)); } | ||||
| @@ -220,5 +233,10 @@ void Ascend310DeviceInfo::SetFusionSwitchConfigPath(const std::string &cfg_path) | |||||
| std::string Ascend310DeviceInfo::GetFusionSwitchConfigPath() const { | std::string Ascend310DeviceInfo::GetFusionSwitchConfigPath() const { | ||||
| return CharToString(GetFusionSwitchConfigPathChar()); | return CharToString(GetFusionSwitchConfigPathChar()); | ||||
| } | } | ||||
| void Ascend310DeviceInfo::SetBufferOptimizeMode(const std::string &buffer_optimize_mode) { | |||||
| SetBufferOptimizeMode(StringToChar(buffer_optimize_mode)); | |||||
| } | |||||
| std::string Ascend310DeviceInfo::GetBufferOptimizeMode() const { return CharToString(GetBufferOptimizeModeChar()); } | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| #endif // MINDSPORE_INCLUDE_API_CONTEXT_H | #endif // MINDSPORE_INCLUDE_API_CONTEXT_H | ||||
| @@ -106,6 +106,7 @@ class TrtLogger : public nvinfer1::ILogger { | |||||
| // Redirect Tensor-RT inner log to GLOG | // Redirect Tensor-RT inner log to GLOG | ||||
| void log(Severity severity, const char *msg) override { | void log(Severity severity, const char *msg) override { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| static std::map<Severity, std::tuple<MsLogLevel, int, std::string>> logger_map = { | static std::map<Severity, std::tuple<MsLogLevel, int, std::string>> logger_map = { | ||||
| {Severity::kVERBOSE, {MsLogLevel::DEBUG, google::GLOG_INFO, "VERBOSE"}}, | {Severity::kVERBOSE, {MsLogLevel::DEBUG, google::GLOG_INFO, "VERBOSE"}}, | ||||
| {Severity::kINFO, {MsLogLevel::INFO, google::GLOG_INFO, "INFO"}}, | {Severity::kINFO, {MsLogLevel::INFO, google::GLOG_INFO, "INFO"}}, | ||||
| @@ -127,6 +128,7 @@ class TrtLogger : public nvinfer1::ILogger { | |||||
| google::LogMessage("", 0, std::get<1>(level)).stream() | google::LogMessage("", 0, std::get<1>(level)).stream() | ||||
| << "[TensorRT " << std::get<2>(level) << "] " << msg << std::endl; | << "[TensorRT " << std::get<2>(level) << "] " << msg << std::endl; | ||||
| #undef google | |||||
| #endif // USE_GLOG | #endif // USE_GLOG | ||||
| } | } | ||||
| @@ -15,6 +15,7 @@ if(ENABLE_ACL) | |||||
| "model/model_converter_utils/*.cc" | "model/model_converter_utils/*.cc" | ||||
| "graph/acl/*.cc" | "graph/acl/*.cc" | ||||
| ) | ) | ||||
| list(APPEND API_ACL_SRC $<TARGET_OBJECTS:_mindspore_transform_graph_ir_obj>) | |||||
| endif() | endif() | ||||
| if(ENABLE_D) | if(ENABLE_D) | ||||
| @@ -46,7 +47,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") | |||||
| target_link_libraries(mindspore_shared_lib PRIVATE ${PYTHON_LIBRARIES} ${SECUREC_LIBRARY} | target_link_libraries(mindspore_shared_lib PRIVATE ${PYTHON_LIBRARIES} ${SECUREC_LIBRARY} | ||||
| -Wl,-force_load mindspore -Wl,-noall_load proto_input mindspore_gvar mindspore::protobuf) | -Wl,-force_load mindspore -Wl,-noall_load proto_input mindspore_gvar mindspore::protobuf) | ||||
| else() | else() | ||||
| if(ENABLE_D OR ENABLE_ACL OR ENABLE_GPU) | |||||
| if(ENABLE_D OR ENABLE_GPU) | |||||
| target_link_libraries(mindspore_shared_lib PRIVATE ${PYTHON_LIBRARIES} ${SECUREC_LIBRARY} | target_link_libraries(mindspore_shared_lib PRIVATE ${PYTHON_LIBRARIES} ${SECUREC_LIBRARY} | ||||
| -Wl,--whole-archive mindspore -Wl,--no-whole-archive proto_input mindspore_gvar mindspore::protobuf) | -Wl,--whole-archive mindspore -Wl,--no-whole-archive proto_input mindspore_gvar mindspore::protobuf) | ||||
| else() | else() | ||||
| @@ -30,20 +30,16 @@ constexpr auto kModelOptionNvidiaGpuTrtInferMode = "mindspore.option.nvidia_gpu. | |||||
| constexpr auto kModelOptionAscend910DeviceID = kModelOptionDeviceID; | constexpr auto kModelOptionAscend910DeviceID = kModelOptionDeviceID; | ||||
| constexpr auto kModelOptionAscend310DeviceID = kModelOptionDeviceID; | constexpr auto kModelOptionAscend310DeviceID = kModelOptionDeviceID; | ||||
| constexpr auto kModelOptionAscend310DumpCfgPath = "mindspore.option.ascend310.dump_config_file_path"; | constexpr auto kModelOptionAscend310DumpCfgPath = "mindspore.option.ascend310.dump_config_file_path"; | ||||
| constexpr auto kModelOptionAscend310InsertOpCfgPath = | |||||
| "mindspore.option.ascend310.insert_op_config_file_path"; // aipp config file | |||||
| constexpr auto kModelOptionAscend310InputFormat = "mindspore.option.ascend310.input_format"; // nchw or nhwc | |||||
| constexpr auto kModelOptionAscend310InsertOpCfgPath = "mindspore.option.ascend310.insert_op_config_file_path"; | |||||
| constexpr auto kModelOptionAscend310InputFormat = "mindspore.option.ascend310.input_format"; | |||||
| constexpr auto kModelOptionAscend310InputShapeMap = "mindspore.option.ascend310.input_shape_map"; | constexpr auto kModelOptionAscend310InputShapeMap = "mindspore.option.ascend310.input_shape_map"; | ||||
| constexpr auto kModelOptionAscend310InputShape = "mindspore.option.ascend310.input_shape"; | constexpr auto kModelOptionAscend310InputShape = "mindspore.option.ascend310.input_shape"; | ||||
| // Mandatory while dynamic batch: e.g. "input_op_name1: n1,c2,h3,w4;input_op_name2: n4,c3,h2,w1" | |||||
| constexpr auto kModelOptionAscend310OutputType = | |||||
| "mindspore.option.ascend310.output_type"; // "FP32", "UINT8" or "FP16", default as "FP32" | |||||
| constexpr auto kModelOptionAscend310OutputType = "mindspore.option.ascend310.output_type"; | |||||
| constexpr auto kModelOptionAscend310PrecisionMode = "mindspore.option.ascend310.precision_mode"; | constexpr auto kModelOptionAscend310PrecisionMode = "mindspore.option.ascend310.precision_mode"; | ||||
| // "force_fp16", "allow_fp32_to_fp16", "must_keep_origin_dtype" or "allow_mix_precision", default as "force_fp16" | |||||
| constexpr auto kModelOptionAscend310OpSelectImplMode = "mindspore.option.ascend310.op_select_impl_mode"; | constexpr auto kModelOptionAscend310OpSelectImplMode = "mindspore.option.ascend310.op_select_impl_mode"; | ||||
| constexpr auto KModelOptionAscend310FusionSwitchCfgPath = "mindspore.option.ascend310.fusion_switch_config_file_path"; | constexpr auto KModelOptionAscend310FusionSwitchCfgPath = "mindspore.option.ascend310.fusion_switch_config_file_path"; | ||||
| // "False": Inference with native backend, "True": Inference with Tensor-RT engine, default as "False" | |||||
| constexpr auto kModelOptionAscend310DynamicBatchSize = "mindspore.option.ascend310.dynamic_batch_size"; | constexpr auto kModelOptionAscend310DynamicBatchSize = "mindspore.option.ascend310.dynamic_batch_size"; | ||||
| constexpr auto kModelOptionAscend310BufferOptimize = "mindspore.option.ascend310.buffer_optimize"; | |||||
| namespace mindspore { | namespace mindspore { | ||||
| class Allocator {}; | class Allocator {}; | ||||
| @@ -279,4 +275,14 @@ enum DataType Ascend310DeviceInfo::GetOutputType() const { | |||||
| MS_EXCEPTION_IF_NULL(data_); | MS_EXCEPTION_IF_NULL(data_); | ||||
| return GetValue<enum DataType>(data_, kModelOptionAscend310OutputType); | return GetValue<enum DataType>(data_, kModelOptionAscend310OutputType); | ||||
| } | } | ||||
| void Ascend310DeviceInfo::SetBufferOptimizeMode(const std::vector<char> &buffer_optimize_mode) { | |||||
| MS_EXCEPTION_IF_NULL(data_); | |||||
| data_->params[kModelOptionAscend310BufferOptimize] = CharToString(buffer_optimize_mode); | |||||
| } | |||||
| std::vector<char> Ascend310DeviceInfo::GetBufferOptimizeModeChar() const { | |||||
| MS_EXCEPTION_IF_NULL(data_); | |||||
| const std::string &ref = GetValue<std::string>(data_, kModelOptionAscend310BufferOptimize); | |||||
| return StringToChar(ref); | |||||
| } | |||||
| } // namespace mindspore | } // namespace mindspore | ||||
| @@ -51,7 +51,7 @@ std::shared_ptr<AclEnvGuard> AclEnvGuard::GetAclEnv(std::string_view cfg_file) { | |||||
| } else { | } else { | ||||
| acl_env = std::make_shared<AclEnvGuard>(cfg_file); | acl_env = std::make_shared<AclEnvGuard>(cfg_file); | ||||
| aclError ret = acl_env->GetErrno(); | aclError ret = acl_env->GetErrno(); | ||||
| if (ret != ACL_ERROR_NONE) { | |||||
| if (ret != ACL_ERROR_NONE && ret != ACL_ERROR_REPEAT_INITIALIZE) { | |||||
| MS_LOG(ERROR) << "Execute aclInit Failed"; | MS_LOG(ERROR) << "Execute aclInit Failed"; | ||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| @@ -54,6 +54,7 @@ AclModelOptions::AclModelOptions(const std::shared_ptr<Context> &context) { | |||||
| fusion_switch_cfg_path_ = ascend310_info->GetFusionSwitchConfigPath(); | fusion_switch_cfg_path_ = ascend310_info->GetFusionSwitchConfigPath(); | ||||
| device_id_ = ascend310_info->GetDeviceID(); | device_id_ = ascend310_info->GetDeviceID(); | ||||
| dump_cfg_path_ = ascend310_info->GetDumpConfigPath(); | dump_cfg_path_ = ascend310_info->GetDumpConfigPath(); | ||||
| buffer_optimize_mode_ = ascend310_info->GetBufferOptimizeMode(); | |||||
| } | } | ||||
| void AclModelOptions::RenameInput(const std::vector<std::string> &input_names) { | void AclModelOptions::RenameInput(const std::vector<std::string> &input_names) { | ||||
| @@ -78,7 +79,8 @@ std::tuple<std::map<std::string, std::string>, std::map<std::string, std::string | |||||
| const std::map<std::string const *, std::string> init_options_map = { | const std::map<std::string const *, std::string> init_options_map = { | ||||
| {&op_select_impl_mode_, ge::ir_option::OP_SELECT_IMPL_MODE}, | {&op_select_impl_mode_, ge::ir_option::OP_SELECT_IMPL_MODE}, | ||||
| {&soc_version_, ge::ir_option::SOC_VERSION}, | {&soc_version_, ge::ir_option::SOC_VERSION}, | ||||
| {&fusion_switch_cfg_path_, ge::ir_option::FUSION_SWITCH_FILE}}; | |||||
| {&fusion_switch_cfg_path_, ge::ir_option::FUSION_SWITCH_FILE}, | |||||
| {&buffer_optimize_mode_, ge::ir_option::BUFFER_OPTIMIZE}}; | |||||
| const std::map<std::string const *, std::string> build_options_map = { | const std::map<std::string const *, std::string> build_options_map = { | ||||
| {&insert_op_cfg_path_, ge::ir_option::INSERT_OP_FILE}, | {&insert_op_cfg_path_, ge::ir_option::INSERT_OP_FILE}, | ||||
| @@ -51,6 +51,7 @@ class AclModelOptions { | |||||
| std::string soc_version_ = "Ascend310"; | std::string soc_version_ = "Ascend310"; | ||||
| std::string dynamic_batch_size_; | std::string dynamic_batch_size_; | ||||
| std::string dynamic_image_size_; | std::string dynamic_image_size_; | ||||
| std::string buffer_optimize_mode_; | |||||
| std::map<int, std::vector<int>> input_shape_map_; | std::map<int, std::vector<int>> input_shape_map_; | ||||
| // other options | // other options | ||||
| uint32_t device_id_; | uint32_t device_id_; | ||||
| @@ -112,7 +112,7 @@ MSTensor Model::GetInputByTensorName(const std::vector<char> &tensor_name) { | |||||
| } | } | ||||
| } | } | ||||
| return MSTensor(std::shared_ptr<MSTensor::Impl>(nullptr)); | |||||
| return MSTensor(nullptr); | |||||
| } | } | ||||
| std::vector<std::vector<char>> Model::GetOutputTensorNamesChar() { | std::vector<std::vector<char>> Model::GetOutputTensorNamesChar() { | ||||
| @@ -132,7 +132,7 @@ MSTensor Model::GetOutputByTensorName(const std::vector<char> &tensor_name) { | |||||
| } | } | ||||
| } | } | ||||
| return MSTensor(std::shared_ptr<MSTensor::Impl>(nullptr)); | |||||
| return MSTensor(nullptr); | |||||
| } | } | ||||
| Model::Model() : impl_(nullptr) {} | Model::Model() : impl_(nullptr) {} | ||||
| @@ -29,6 +29,7 @@ int main(int argc, char **argv) { | |||||
| std::stringstream arg_stream; | std::stringstream arg_stream; | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| FLAGS_logtostderr = false; | FLAGS_logtostderr = false; | ||||
| FLAGS_log_dir = ds::DefaultLogDir(); | FLAGS_log_dir = ds::DefaultLogDir(); | ||||
| // Create default log dir | // Create default log dir | ||||
| @@ -39,6 +40,7 @@ int main(int argc, char **argv) { | |||||
| return 1; | return 1; | ||||
| } | } | ||||
| google::InitGoogleLogging(argv[0]); | google::InitGoogleLogging(argv[0]); | ||||
| #undef google | |||||
| #endif | #endif | ||||
| if (argc == 1) { | if (argc == 1) { | ||||
| @@ -59,6 +59,7 @@ ms::Status StartServer(int argc, char **argv) { | |||||
| ds::SharedMessage msg; | ds::SharedMessage msg; | ||||
| if (daemonize) { | if (daemonize) { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| FLAGS_logtostderr = false; | FLAGS_logtostderr = false; | ||||
| FLAGS_log_dir = ds::DefaultLogDir(); | FLAGS_log_dir = ds::DefaultLogDir(); | ||||
| // Create cache server default log dir | // Create cache server default log dir | ||||
| @@ -69,6 +70,7 @@ ms::Status StartServer(int argc, char **argv) { | |||||
| } | } | ||||
| ms::g_ms_submodule_log_levels[SUBMODULE_ID] = strtol(argv[5], nullptr, 10); | ms::g_ms_submodule_log_levels[SUBMODULE_ID] = strtol(argv[5], nullptr, 10); | ||||
| google::InitGoogleLogging(argv[0]); | google::InitGoogleLogging(argv[0]); | ||||
| #undef google | |||||
| #endif | #endif | ||||
| rc = msg.Create(); | rc = msg.Create(); | ||||
| if (rc.IsError()) { | if (rc.IsError()) { | ||||
| @@ -22,9 +22,11 @@ namespace ds = mindspore::dataset; | |||||
| int main(int argc, char **argv) { | int main(int argc, char **argv) { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| FLAGS_logtostderr = false; | FLAGS_logtostderr = false; | ||||
| FLAGS_log_dir = "/tmp"; | FLAGS_log_dir = "/tmp"; | ||||
| google::InitGoogleLogging(argv[0]); | google::InitGoogleLogging(argv[0]); | ||||
| #undef google | |||||
| #endif | #endif | ||||
| ds::CachePerfRun cachePerfRun; | ds::CachePerfRun cachePerfRun; | ||||
| if (cachePerfRun.ProcessArgs(argc, argv) == 0) { | if (cachePerfRun.ProcessArgs(argc, argv) == 0) { | ||||
| @@ -23,9 +23,11 @@ namespace ds = mindspore::dataset; | |||||
| int main(int argc, char **argv) { | int main(int argc, char **argv) { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| FLAGS_logtostderr = false; | FLAGS_logtostderr = false; | ||||
| FLAGS_log_dir = "/tmp"; | FLAGS_log_dir = "/tmp"; | ||||
| google::InitGoogleLogging(argv[0]); | google::InitGoogleLogging(argv[0]); | ||||
| #undef google | |||||
| #endif | #endif | ||||
| ds::CachePipelineRun cachePipelineRun; | ds::CachePipelineRun cachePipelineRun; | ||||
| if (cachePipelineRun.ProcessArgs(argc, argv) == 0) { | if (cachePipelineRun.ProcessArgs(argc, argv) == 0) { | ||||
| @@ -1,5 +1,6 @@ | |||||
| file(GLOB_RECURSE _CURRENT_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc") | file(GLOB_RECURSE _CURRENT_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc") | ||||
| set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_MD) | set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_MD) | ||||
| set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS google=mindspore_private) | |||||
| add_subdirectory(utils) | add_subdirectory(utils) | ||||
| add_library(kernels-soft-dvpp-image OBJECT | add_library(kernels-soft-dvpp-image OBJECT | ||||
| soft_dvpp_decode_resize_jpeg_op.cc | soft_dvpp_decode_resize_jpeg_op.cc | ||||
| @@ -1,5 +1,6 @@ | |||||
| file(GLOB_RECURSE _CURRENT_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") | |||||
| file(GLOB_RECURSE _CURRENT_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc") | |||||
| set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_MD) | set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_MD) | ||||
| set_property(SOURCE ${_CURRENT_SRC_FILES} PROPERTY COMPILE_DEFINITIONS google=mindspore_private) | |||||
| add_library(soft-dvpp-utils OBJECT | add_library(soft-dvpp-utils OBJECT | ||||
| soft_dp.cc | soft_dp.cc | ||||
| soft_dp_tools.cc | soft_dp_tools.cc | ||||
| @@ -85,8 +85,9 @@ void DenseOptimInfo::Accumulate(const Values &values, const Lengths &lengths) { | |||||
| grad_offset += lengths[i]; | grad_offset += lengths[i]; | ||||
| } | } | ||||
| float *grad_data = const_cast<float *>(values.data()) + grad_offset; | float *grad_data = const_cast<float *>(values.data()) + grad_offset; | ||||
| #define google mindspore_private | |||||
| CHECK_EQ(size, static_cast<size_t>(lengths[grad_index])); | CHECK_EQ(size, static_cast<size_t>(lengths[grad_index])); | ||||
| #undef google | |||||
| for (size_t i = 0; i < size; i++) { | for (size_t i = 0; i < size; i++) { | ||||
| accum_grad_data[i] += grad_data[i]; | accum_grad_data[i] += grad_data[i]; | ||||
| } | } | ||||
| @@ -23,6 +23,7 @@ | |||||
| // namespace to support utils module definition | // namespace to support utils module definition | ||||
| namespace mindspore { | namespace mindspore { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| static std::string GetProcName() { | static std::string GetProcName() { | ||||
| #if defined(__APPLE__) || defined(__FreeBSD__) | #if defined(__APPLE__) || defined(__FreeBSD__) | ||||
| const char *appname = getprogname(); | const char *appname = getprogname(); | ||||
| @@ -71,6 +72,7 @@ static int GetGlogLevel(MsLogLevel level) { | |||||
| return google::GLOG_ERROR; | return google::GLOG_ERROR; | ||||
| } | } | ||||
| } | } | ||||
| // get threshold level | // get threshold level | ||||
| static int GetThresholdLevel(std::string threshold) { | static int GetThresholdLevel(std::string threshold) { | ||||
| if (threshold.empty()) { | if (threshold.empty()) { | ||||
| @@ -85,6 +87,7 @@ static int GetThresholdLevel(std::string threshold) { | |||||
| return google::GLOG_WARNING; | return google::GLOG_WARNING; | ||||
| } | } | ||||
| } | } | ||||
| #undef google | |||||
| #else | #else | ||||
| #undef Dlog | #undef Dlog | ||||
| @@ -143,11 +146,13 @@ static const char *GetSubModuleName(SubModuleId module_id) { | |||||
| } | } | ||||
| void LogWriter::OutputLog(const std::ostringstream &msg) const { | void LogWriter::OutputLog(const std::ostringstream &msg) const { | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| auto submodule_name = GetSubModuleName(submodule_); | auto submodule_name = GetSubModuleName(submodule_); | ||||
| google::LogMessage("", 0, GetGlogLevel(log_level_)).stream() | google::LogMessage("", 0, GetGlogLevel(log_level_)).stream() | ||||
| << "[" << GetLogLevel(log_level_) << "] " << submodule_name << "(" << getpid() << "," << GetProcName() | << "[" << GetLogLevel(log_level_) << "] " << submodule_name << "(" << getpid() << "," << GetProcName() | ||||
| << "):" << GetTimeString() << " " | << "):" << GetTimeString() << " " | ||||
| << "[" << location_.file_ << ":" << location_.line_ << "] " << location_.func_ << "] " << msg.str() << std::endl; | << "[" << location_.file_ << ":" << location_.line_ << "] " << location_.func_ << "] " << msg.str() << std::endl; | ||||
| #undef google | |||||
| #else | #else | ||||
| auto str_msg = msg.str(); | auto str_msg = msg.str(); | ||||
| auto slog_module_id = (submodule_ == SM_MD ? MD : ME); | auto slog_module_id = (submodule_ == SM_MD ? MD : ME); | ||||
| @@ -479,6 +484,7 @@ __attribute__((constructor)) void mindspore_log_init(void) { | |||||
| void mindspore_log_init(void) { | void mindspore_log_init(void) { | ||||
| #endif | #endif | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| static bool is_glog_initialzed = false; | static bool is_glog_initialzed = false; | ||||
| if (!is_glog_initialzed) { | if (!is_glog_initialzed) { | ||||
| #if !defined(_WIN32) && !defined(_WIN64) | #if !defined(_WIN32) && !defined(_WIN64) | ||||
| @@ -486,6 +492,7 @@ void mindspore_log_init(void) { | |||||
| #endif | #endif | ||||
| is_glog_initialzed = true; | is_glog_initialzed = true; | ||||
| } | } | ||||
| #undef google | |||||
| #endif | #endif | ||||
| common_log_init(); | common_log_init(); | ||||
| } | } | ||||
| @@ -26,7 +26,9 @@ | |||||
| #include "utils/overload.h" | #include "utils/overload.h" | ||||
| #include "./securec.h" | #include "./securec.h" | ||||
| #ifdef USE_GLOG | #ifdef USE_GLOG | ||||
| #define google mindspore_private | |||||
| #include "glog/logging.h" | #include "glog/logging.h" | ||||
| #undef google | |||||
| #else | #else | ||||
| #include "toolchain/slog.h" | #include "toolchain/slog.h" | ||||
| #endif | #endif | ||||
| @@ -0,0 +1,11 @@ | |||||
| diff -Npur glog/CMakeLists.txt glog_modify/CMakeLists.txt | |||||
| --- glog/CMakeLists.txt 2019-03-22 10:51:46.000000000 +0800 | |||||
| +++ glog_modify/CMakeLists.txt 2021-03-07 16:58:38.386879400 +0800 | |||||
| @@ -470,6 +470,7 @@ add_library (glog | |||||
| add_library(glog::glog ALIAS glog) | |||||
| set_target_properties (glog PROPERTIES POSITION_INDEPENDENT_CODE ON) | |||||
| +set_target_properties (glog PROPERTIES OUTPUT_NAME mindspore_glog) | |||||
| if (UNWIND_LIBRARY) | |||||
| target_link_libraries (glog PUBLIC ${UNWIND_LIBRARY}) | |||||