| 225 | } |
| 226 | |
| 227 | static bool memory_overlap(ggml_tensor * a, ggml_tensor * b) { |
| 228 | if (a->buffer != b->buffer) { |
| 229 | return false; |
| 230 | } |
| 231 | int64_t a0 = (int64_t) a->data; |
| 232 | int64_t a1 = a0 + ggml_nbytes(a); |
| 233 | int64_t b0 = (int64_t) b->data; |
| 234 | int64_t b1 = b0 + ggml_nbytes(b); |
| 235 | return a1 > b0 && b1 > a0; |
| 236 | } |
| 237 | |
| 238 | static ggml_tensor * get_view_source(ggml_tensor * t) { |
| 239 | while (t->view_src) { |
no test coverage detected