diff --git a/ggml/src/ggml-qnn/backend-ops.cpp b/ggml/src/ggml-qnn/backend-ops.cpp index b138257b8..1f8b75e5e 100644 --- a/ggml/src/ggml-qnn/backend-ops.cpp +++ b/ggml/src/ggml-qnn/backend-ops.cpp @@ -82,14 +82,10 @@ template std::string get_graph_key(const std::string &op_name, const std::array &inputs, const std::array &outputs) { constexpr static const auto append_dimensions = [](std::string &key, const ggml_tensor *tensor) { - key += "_"; - key += std::to_string(tensor->ne[0]); - key += "x"; - key += std::to_string(tensor->ne[1]); - key += "x"; - key += std::to_string(tensor->ne[2]); - key += "x"; - key += std::to_string(tensor->ne[3]); + char buffer[256] = {}; + snprintf(buffer, sizeof(buffer), "_%ldx%ldx%ldx%ld", (long)tensor->ne[0], (long)tensor->ne[1], + (long)tensor->ne[2], (long)tensor->ne[3]); + key += buffer; }; std::string graph_key(op_name); @@ -99,7 +95,7 @@ std::string get_graph_key(const std::string &op_name, const std::array