| 243 | } |
| 244 | |
| 245 | void ggml_backend_tensor_get_async(ggml_backend_t backend, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { |
| 246 | GGML_ASSERT(tensor->data != NULL && "tensor not allocated"); |
| 247 | GGML_ASSERT(offset + size <= ggml_nbytes(tensor) && "tensor read out of bounds"); |
| 248 | |
| 249 | if (backend->iface.get_tensor_async == NULL) { |
| 250 | ggml_backend_tensor_get(tensor, data, offset, size); |
| 251 | } else { |
| 252 | backend->iface.get_tensor_async(backend, tensor, data, offset, size); |
| 253 | } |
| 254 | } |
| 255 | |
| 256 | void ggml_backend_tensor_set(struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { |
| 257 | GGML_ASSERT(tensor); |
no test coverage detected