From d0df0f3213f32de9b71731d775bc605f2464b920 Mon Sep 17 00:00:00 2001 From: huangxiaolan Date: Tue, 23 Sep 2025 17:30:45 +0800 Subject: [PATCH 1/4] delete atoi --- .../tbe_adapter/platform/platform_ascendc.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp index e1d924f2..a794d7c6 100644 --- a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp +++ b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp @@ -41,6 +41,19 @@ const static std::map CONVERT_MAP = { {"Ascend910_93", SocVersion::ASCEND910B}, }; +static uint32_t safeChangeStringtoUnit32(const std::string &str) { + if (std.empty()) { + return 0; + } + char *endptr = nullptr; + const char* cstr = std.c_str(); + long result = std::strtol(cstr, &endptr, 10); + if (cstr == endptr || *endptr != '\0') { + return 0; + } + return static_cast(result); +} + static inline uint32_t GetCoreNumByType(fe::PlatFormInfos *platformInfo, bool isAiv) { std::string key; @@ -57,7 +70,7 @@ static inline uint32_t GetCoreNumByType(fe::PlatFormInfos *platformInfo, bool is } ret = platformInfo->GetPlatformResWithLock(STR_SOC_INFO, key, val); MKI_LOG_IF(!ret, ERROR) << "get platform failed, key is " << key << ", val is" << val; - return val.empty() ? 0 : static_cast(std::atoi(val.c_str())); + return safeChangeStringtoUnit32(val); } uint32_t PlatformAscendC::GetCoreNumVector(void) const @@ -66,7 +79,7 @@ uint32_t PlatformAscendC::GetCoreNumVector(void) const std::string val; bool ret = GetPlatFormInfo()->GetPlatformResWithLock(STR_SOC_INFO, STR_CORE_CNT_VEC, val); MKI_LOG_IF(!ret, ERROR) << "get platform vector num failed, val is " << val; - return val.empty() ? 0 : std::atoi(val.c_str()); + return safeChangeStringtoUnit32(val); } return 0; } -- Gitee From 8c2c055631cb84710e6c6ea8c6b6594c7245e373 Mon Sep 17 00:00:00 2001 From: huangxiaolan Date: Tue, 23 Sep 2025 20:00:53 +0800 Subject: [PATCH 2/4] fix clean code --- src/kernels/tbe_adapter/platform/platform_ascendc.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp index a794d7c6..e72f41b7 100644 --- a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp +++ b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp @@ -41,7 +41,8 @@ const static std::map CONVERT_MAP = { {"Ascend910_93", SocVersion::ASCEND910B}, }; -static uint32_t safeChangeStringtoUnit32(const std::string &str) { +static uint32_t safeChangeStringtoUnit32(const std::string &str) +{ if (std.empty()) { return 0; } -- Gitee From 0e834785c34ff35a81fe1589ee631526e3643fdf Mon Sep 17 00:00:00 2001 From: huangxiaolan Date: Wed, 24 Sep 2025 17:31:06 +0800 Subject: [PATCH 3/4] fix variable name --- src/kernels/tbe_adapter/platform/platform_ascendc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp index e72f41b7..b9ec77b4 100644 --- a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp +++ b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp @@ -43,11 +43,11 @@ const static std::map CONVERT_MAP = { static uint32_t safeChangeStringtoUnit32(const std::string &str) { - if (std.empty()) { + if (str.empty()) { return 0; } char *endptr = nullptr; - const char* cstr = std.c_str(); + const char* cstr = str.c_str(); long result = std::strtol(cstr, &endptr, 10); if (cstr == endptr || *endptr != '\0') { return 0; -- Gitee From 837c4928cb0f5a1efd96b37d6113886fd40ae2b5 Mon Sep 17 00:00:00 2001 From: huangxiaolan Date: Thu, 25 Sep 2025 19:59:58 +0800 Subject: [PATCH 4/4] fix function --- src/kernels/tbe_adapter/platform/platform_ascendc.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp index b9ec77b4..3a1cb872 100644 --- a/src/kernels/tbe_adapter/platform/platform_ascendc.cpp +++ b/src/kernels/tbe_adapter/platform/platform_ascendc.cpp @@ -41,19 +41,24 @@ const static std::map CONVERT_MAP = { {"Ascend910_93", SocVersion::ASCEND910B}, }; -static uint32_t safeChangeStringtoUnit32(const std::string &str) +namespace { +constexpr uint32_t DECIMAL = 10; +uint32_t safeChangeStringtoUnit32(const std::string &str) { if (str.empty()) { + MKI_LOG(WARN) << "var is empty"; return 0; } char *endptr = nullptr; const char* cstr = str.c_str(); - long result = std::strtol(cstr, &endptr, 10); + long result = std::strtol(cstr, &endptr, DECIMAL); if (cstr == endptr || *endptr != '\0') { + MKI_LOG(WARN) << "Failed to convert string to uint32: " << str; return 0; } return static_cast(result); } +} static inline uint32_t GetCoreNumByType(fe::PlatFormInfos *platformInfo, bool isAiv) { -- Gitee