diff options
author | Georgi Gerganov <ggerganov@gmail.com> | 2023-10-08 20:19:14 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-08 20:19:14 +0300 |
commit | db3abcc114d5d1790ba814aa1a80ac673d4ccc3e (patch) | |
tree | 954cce12ac9d40fccf5dd3d9298efedd1d67e7d0 /ggml-alloc.h | |
parent | eee42c670e6fa6df9cf17e7ffc319f74cbd81354 (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.h | 16 |
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 } |