char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
4254bb495
char/aliceai-t5-moe
1#pragma once 2 3#ifndef __cplusplus 4#error "This header is for C++ only" 5#endif 6 7#include "ggml.h" 8#include "ggml-alloc.h" 9#include "ggml-backend.h" 10#include "gguf.h" 11#include <memory> 12 13// Smart pointers for ggml types 14 15// ggml 16 17struct ggml_context_deleter {void operator ()(ggml_context * ctx ) {ggml_free (ctx ); } }; 18struct gguf_context_deleter {void operator ()(gguf_context * ctx ) {gguf_free (ctx ); } }; 19 20typedef std ::unique_ptr < ggml_context ,ggml_context_deleter > ggml_context_ptr ; 21typedef std ::unique_ptr < gguf_context ,gguf_context_deleter > gguf_context_ptr ; 22 23// ggml-alloc 24 25struct ggml_gallocr_deleter {void operator ()(ggml_gallocr_t galloc ) {ggml_gallocr_free (galloc ); } }; 26 27typedef std ::unique_ptr < ggml_gallocr ,ggml_gallocr_deleter > ggml_gallocr_ptr ; 28 29// ggml-backend 30 31struct ggml_backend_deleter {void operator ()(ggml_backend_t backend ) {ggml_backend_free (backend ); } }; 32struct ggml_backend_buffer_deleter {void operator ()(ggml_backend_buffer_t buffer ) {ggml_backend_buffer_free (buffer ); } }; 33struct ggml_backend_event_deleter {void operator ()(ggml_backend_event_t event ) {ggml_backend_event_free (event ); } }; 34struct ggml_backend_sched_deleter {void operator ()(ggml_backend_sched_t sched ) {ggml_backend_sched_free (sched ); } }; 35 36typedef std ::unique_ptr < ggml_backend ,ggml_backend_deleter > ggml_backend_ptr ; 37typedef std ::unique_ptr < ggml_backend_buffer ,ggml_backend_buffer_deleter > ggml_backend_buffer_ptr ; 38typedef std ::unique_ptr < ggml_backend_event ,ggml_backend_event_deleter > ggml_backend_event_ptr ; 39typedef std ::unique_ptr < ggml_backend_sched ,ggml_backend_sched_deleter > ggml_backend_sched_ptr ;