| 193 | } |
| 194 | |
| 195 | static void check_max_size(ggml_context * ctx) { |
| 196 | for (ggml_tensor * t = ggml_get_first_tensor(ctx); t; t = ggml_get_next_tensor(ctx, t)) { |
| 197 | auto buft = ggml_backend_buffer_get_type(t->buffer); |
| 198 | size_t max_size = ggml_backend_buft_get_max_size(buft); |
| 199 | size_t offset = (char *) t->data - (char *) ggml_backend_buffer_get_base(t->buffer); |
| 200 | GGML_ASSERT(t->data >= ggml_backend_buffer_get_base(t->buffer)); |
| 201 | GGML_ASSERT((size_t) offset + ggml_nbytes(t) <= max_size); |
| 202 | } |
| 203 | } |
| 204 | |
| 205 | static bool can_reuse_memory(ggml_cgraph * graph, int current_i, ggml_tensor * current, ggml_tensor * other) { |
| 206 | if (other->flags & GGML_TENSOR_FLAG_OUTPUT) { |
no test coverage detected