mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-11-07 08:34:37 +01:00
alloc : fix allocation data of pre-allocated leafs
This commit is contained in:
parent
c6c94de43a
commit
66df44b0b7
@ -701,9 +701,14 @@ bool ggml_gallocr_reserve_n(ggml_gallocr_t galloc, struct ggml_cgraph * graph, c
|
|||||||
struct ggml_tensor * leaf = graph->leafs[i];
|
struct ggml_tensor * leaf = graph->leafs[i];
|
||||||
struct hash_node * hn = ggml_gallocr_hash_get(galloc, leaf);
|
struct hash_node * hn = ggml_gallocr_hash_get(galloc, leaf);
|
||||||
galloc->leaf_allocs[i].buffer_id = hn->buffer_id;
|
galloc->leaf_allocs[i].buffer_id = hn->buffer_id;
|
||||||
|
if (leaf->view_src || leaf->data) {
|
||||||
|
galloc->leaf_allocs[i].leaf.offset = SIZE_MAX;
|
||||||
|
galloc->leaf_allocs[i].leaf.size_max = 0;
|
||||||
|
} else {
|
||||||
galloc->leaf_allocs[i].leaf.offset = hn->offset;
|
galloc->leaf_allocs[i].leaf.offset = hn->offset;
|
||||||
galloc->leaf_allocs[i].leaf.size_max = ggml_backend_buft_get_alloc_size(galloc->bufts[hn->buffer_id], leaf);
|
galloc->leaf_allocs[i].leaf.size_max = ggml_backend_buft_get_alloc_size(galloc->bufts[hn->buffer_id], leaf);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// reallocate buffers if needed
|
// reallocate buffers if needed
|
||||||
for (int i = 0; i < galloc->n_buffers; i++) {
|
for (int i = 0; i < galloc->n_buffers; i++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user