From faf3e21eaf8ac4667a233fc7d03e8cb29477183a Mon Sep 17 00:00:00 2001 From: xaedes Date: Mon, 14 Aug 2023 20:50:09 +0200 Subject: [PATCH] add debug asserts in ggml_allocr_alloc to some common pitfalls when using this function directly --- ggml-alloc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ggml-alloc.c b/ggml-alloc.c index 5e1be61ff..ddf973dae 100644 --- a/ggml-alloc.c +++ b/ggml-alloc.c @@ -104,6 +104,10 @@ static size_t ggml_allocator_get_alloc_size(struct ggml_allocr * alloc, struct g } void ggml_allocr_alloc(struct ggml_allocr * alloc, struct ggml_tensor * tensor) { +#ifdef GGML_ALLOCATOR_DEBUG + GGML_ASSERT(ggml_is_view(tensor) == false); // views generally get data pointer from one of their sources + GGML_ASSERT(tensor->data == NULL); // avoid allocating tensor which already has memory allocated +#endif size_t size = ggml_allocator_get_alloc_size(alloc, tensor); size = aligned_offset(NULL, size, alloc->alignment);