From 17717f3fc6653196e018823b858edc673c0c913e Mon Sep 17 00:00:00 2001 From: Oliver Simons Date: Thu, 12 Feb 2026 17:36:28 +0100 Subject: [PATCH] Assert ggml_tensor is trivially copyable --- ggml/src/ggml-cuda/ggml-cuda.cu | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 7dc688483a..4f0a8f196d 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -3641,6 +3641,10 @@ static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cud if (n_fuse > 1) { ggml_tensor fused_add_node; + // Let's ensure compilation fails should ggml_tensorĀ at one point no-longer be trivially copyable. + static_assert( + std::is_trivially_copyable_v, + "ggml_tensor must be trivially copyable for memcpy usage in fused-add node-creation"); memcpy(&fused_add_node, node, sizeof(ggml_tensor)); for (int j = 0; j < n_fuse - 1; ++j) { fused_add_node.src[j + 2] = cgraph->nodes[i + j + 1]->src[1];