From: Herman Semenov Date: Mon, 20 May 2024 07:33:21 +0000 (+0000) Subject: ggml-opencl, llama: using reserve() if count already known (llama/7272) X-Git-Tag: upstream/1.7.4~702 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=cc1ae10989795f072a6b04d05b65534066f1c036;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp ggml-opencl, llama: using reserve() if count already known (llama/7272) --- diff --git a/ggml-opencl.cpp b/ggml-opencl.cpp index 880a1495..922f2483 100644 --- a/ggml-opencl.cpp +++ b/ggml-opencl.cpp @@ -1,4 +1,4 @@ -#include "ggml.h" +#include "ggml.h" #include "ggml-opencl.h" #include "ggml-backend-impl.h" @@ -1835,7 +1835,10 @@ static void ggml_cl_mul_mat_q_f32(const ggml_tensor * src0, const ggml_tensor * CL_CHECK(clEnqueueNDRangeKernel(queue, *to_fp32_cl, 1, &offset, &global, local > 0 ? &local : NULL, events.size(), !events.empty() ? events.data() : NULL, NULL)); } - for (int64_t i12 = i02 * r2, e12 = i12 + r2; i12 < e12; i12++) { + int64_t i12 = i02 * r2; + int64_t e12 = i12 + r2; + events.reserve(e12 - i12); + for (; i12 < e12; i12++) { if (mul_mat_vec) { // specialized dequantize_mul_mat_vec kernel // copy src1 to device events.emplace_back();