summaryrefslogtreecommitdiff
path: root/ggml-alloc.h
diff options
context:
space:
mode:
authorGeorgi Gerganov <ggerganov@gmail.com>2023-10-08 20:19:14 +0300
committerGitHub <noreply@github.com>2023-10-08 20:19:14 +0300
commitdb3abcc114d5d1790ba814aa1a80ac673d4ccc3e (patch)
tree954cce12ac9d40fccf5dd3d9298efedd1d67e7d0 /ggml-alloc.h
parenteee42c670e6fa6df9cf17e7ffc319f74cbd81354 (diff)
sync : ggml (ggml-backend) (#3548)
* sync : ggml (ggml-backend) ggml-ci * zig : add ggml-backend to the build
Diffstat (limited to 'ggml-alloc.h')
-rw-r--r--ggml-alloc.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/ggml-alloc.h b/ggml-alloc.h
index 0c224f17..e3875887 100644
--- a/ggml-alloc.h
+++ b/ggml-alloc.h
@@ -6,21 +6,27 @@
extern "C" {
#endif
+struct ggml_backend_buffer;
GGML_API struct ggml_allocr * ggml_allocr_new(void * data, size_t size, size_t alignment);
GGML_API struct ggml_allocr * ggml_allocr_new_measure(size_t alignment);
+GGML_API struct ggml_allocr * ggml_allocr_new_from_buffer(struct ggml_backend_buffer * buffer);
// tell the allocator to parse nodes following the order described in the list
// you should call this if your graph are optimized to execute out-of-order
GGML_API void ggml_allocr_set_parse_seq(struct ggml_allocr * alloc, const int * list, int n);
-GGML_API void ggml_allocr_free(struct ggml_allocr * alloc);
-GGML_API bool ggml_allocr_is_measure(struct ggml_allocr * alloc);
-GGML_API void ggml_allocr_reset(struct ggml_allocr * alloc);
-GGML_API void ggml_allocr_alloc(struct ggml_allocr * alloc, struct ggml_tensor * tensor);
+GGML_API void ggml_allocr_free (struct ggml_allocr * alloc);
+GGML_API bool ggml_allocr_is_measure (struct ggml_allocr * alloc);
+GGML_API void ggml_allocr_reset (struct ggml_allocr * alloc);
+GGML_API void ggml_allocr_alloc (struct ggml_allocr * alloc, struct ggml_tensor * tensor);
GGML_API size_t ggml_allocr_alloc_graph(struct ggml_allocr * alloc, struct ggml_cgraph * graph);
-GGML_API size_t ggml_allocr_max_size(struct ggml_allocr * alloc);
+GGML_API size_t ggml_allocr_max_size (struct ggml_allocr * alloc);
+GGML_API size_t ggml_allocr_alloc_graph_n(
+ struct ggml_allocr * alloc,
+ struct ggml_cgraph ** graphs, int n_graphs,
+ struct ggml_tensor *** inputs, struct ggml_tensor *** outputs);
#ifdef __cplusplus
}