MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / ggml_gallocr_alloc_graph_n

Function ggml_gallocr_alloc_graph_n

ggml-alloc.c:667–697  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

665}
666
667void ggml_gallocr_alloc_graph_n(ggml_gallocr_t galloc, struct ggml_cgraph * graph, struct ggml_hash_set hash_set, ggml_tallocr_t * hash_node_talloc) {
668 const size_t hash_size = hash_set.size;
669
670 GGML_ASSERT(hash_size >= (size_t)(graph->n_nodes + graph->n_leafs));
671
672 galloc->talloc = NULL;
673
674 // alloc hash_values if needed
675 if (galloc->hash_values == NULL || galloc->hash_values_size < hash_size) {
676 free(galloc->hash_values);
677 galloc->hash_values = malloc(sizeof(struct hash_node) * hash_size);
678 galloc->hash_values_size = hash_size;
679 }
680
681 // free hash_set.keys if needed
682 if (galloc->hash_set.keys != NULL) {
683 free(galloc->hash_set.keys);
684 }
685 galloc->hash_set = hash_set;
686
687 // reset hash values
688 memset(galloc->hash_values, 0, sizeof(struct hash_node) * hash_size);
689
690 galloc->hash_allocs = hash_node_talloc;
691
692 ggml_tallocr_alloc_graph_impl(galloc, graph);
693
694 // remove unowned resources
695 galloc->hash_set.keys = NULL;
696 galloc->hash_allocs = NULL;
697}
698
699// legacy API wrapper
700

Callers 1

sched_alloc_splitsFunction · 0.85

Calls 1

Tested by

no test coverage detected