From: uvos Date: Thu, 6 Mar 2025 07:20:52 +0000 (+0100) Subject: HIP/CUDA: set the paramerter value in maintain_cuda_graph instead of replaceing it... X-Git-Tag: upstream/0.0.4853~16 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=e721c05c9336a72fbb59d5c75967360bc67036c6;p=pkg%2Fggml%2Fsources%2Fllama.cpp HIP/CUDA: set the paramerter value in maintain_cuda_graph instead of replaceing it. (#12209) This avoids conflict with internal cuda/hip runtimes memory managment behavior. --- diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index b5d2c841..497de37b 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -2571,7 +2571,7 @@ static void maintain_cuda_graph(ggml_backend_cuda_context * cuda_ctx, std::vecto for (size_t i = 0; i < cuda_ctx->cuda_graph->num_nodes; i++) { if(count(ggml_cuda_cpy_fn_ptrs.begin(), ggml_cuda_cpy_fn_ptrs.end(), cuda_ctx->cuda_graph->params[i].func) > 0) { char ** updated_kernel_arg_ptr = cuda_ctx->cuda_graph->updated_kernel_arg.at(k++); - cuda_ctx->cuda_graph->params[i].kernelParams[1] = updated_kernel_arg_ptr; + *(void**)cuda_ctx->cuda_graph->params[i].kernelParams[1] = *(void**)updated_kernel_arg_ptr; CUDA_CHECK(cudaGraphKernelNodeSetParams(cuda_ctx->cuda_graph->nodes[i], &cuda_ctx->cuda_graph->params[i])); } }