MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / ggml_vbuffer_alloc

Function ggml_vbuffer_alloc

external/ggml/src/ggml-alloc.c:423–439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

421}
422
423static struct vbuffer * ggml_vbuffer_alloc(ggml_backend_buffer_type_t buft, const struct ggml_dyn_tallocr * talloc, enum ggml_backend_buffer_usage usage) {
424 struct vbuffer * buf = (struct vbuffer *)calloc(1, sizeof(struct vbuffer));
425 if (buf == NULL) {
426 return NULL;
427 }
428
429 for (int n = 0; n < talloc->n_chunks; n++) {
430 size_t chunk_size = talloc->chunks[n]->max_size;
431 buf->chunks[n] = ggml_backend_buft_alloc_buffer(buft, chunk_size);
432 if (buf->chunks[n] == NULL) {
433 ggml_vbuffer_free(buf);
434 return NULL;
435 }
436 ggml_backend_buffer_set_usage(buf->chunks[n], usage);
437 }
438 return buf;
439}
440
441static void ggml_vbuffer_tensor_alloc(struct vbuffer * buf, struct ggml_tensor * tensor, struct buffer_address buf_addr) {
442 void * base = ggml_backend_buffer_get_base(buf->chunks[buf_addr.chunk]);

Callers 1

Calls 3

ggml_vbuffer_freeFunction · 0.85

Tested by

no test coverage detected