mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-11-20 12:07:33 +00:00
* metal : improve naming * metal : refactor device ggml-ci * cont : props ggml-ci * metal : apply ggml_mem_ranges_t ggml-ci * metal : remove GGML_METAL_USE_BF16 ggml-ci * metal : refactor device buffer ggml-ci * cont : fix naming * metal : sync before destroying the backend ggml-ci * metal : refactor context ggml-ci * metal : migrate ggml-metal.m to ggml-metal.cpp ggml-ci * metal : adjust ops API ggml-ci * metal : use C++ to store piplienes ggml-ci * metal : migrate ops to separate functions ggml-ci * metal : add ggml_metal_library_t ggml-ci * metal : improve naming ggml-ci * metal : cleanp ggml-ci * metal : add support for GGML_OP_LOG ggml-ci * metal : fix error handling ggml-ci
34 lines
1.0 KiB
C
34 lines
1.0 KiB
C
#pragma once
|
|
|
|
#include "ggml-metal-device.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//
|
|
// backend context
|
|
//
|
|
|
|
typedef struct ggml_metal * ggml_metal_t;
|
|
|
|
ggml_metal_t ggml_metal_init(ggml_metal_device_t dev);
|
|
void ggml_metal_free(ggml_metal_t ctx);
|
|
|
|
void ggml_metal_synchronize(ggml_metal_t ctx);
|
|
|
|
void ggml_metal_set_tensor_async(ggml_metal_t ctx, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size);
|
|
void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size);
|
|
|
|
enum ggml_status ggml_metal_graph_compute (ggml_metal_t ctx, struct ggml_cgraph * gf);
|
|
void ggml_metal_graph_optimize(ggml_metal_t ctx, struct ggml_cgraph * gf);
|
|
|
|
void ggml_metal_set_n_cb (ggml_metal_t ctx, int n_cb);
|
|
void ggml_metal_set_abort_callback (ggml_metal_t ctx, ggml_abort_callback abort_callback, void * user_data);
|
|
bool ggml_metal_supports_family (ggml_metal_t ctx, int family);
|
|
void ggml_metal_capture_next_compute(ggml_metal_t ctx);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|