Skip to content

Commit 37de34c

Browse files
committed
ggml : add metal backend registry / device
ggml-ci
1 parent db53f8e commit 37de34c

File tree

3 files changed

+308
-165
lines changed

3 files changed

+308
-165
lines changed

ggml/include/ggml-metal.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ GGML_API bool ggml_backend_metal_supports_family(ggml_backend_t backend, int fam
5959
// capture all command buffers committed the next time `ggml_backend_graph_compute` is called
6060
GGML_API void ggml_backend_metal_capture_next_compute(ggml_backend_t backend);
6161

62+
GGML_API ggml_backend_reg_t ggml_backend_metal_reg(void);
63+
6264
#ifdef __cplusplus
6365
}
6466
#endif

ggml/src/ggml-backend.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,10 @@ void ggml_backend_reg_set_log_callback(ggml_backend_reg_t reg, ggml_log_callback
517517
#include "ggml-cuda.h"
518518
#endif
519519

520+
#ifdef GGML_USE_METAL
521+
#include "ggml-metal.h"
522+
#endif
523+
520524
struct ggml_backend_registry {
521525
std::vector<ggml_backend_reg_t> backends;
522526
std::vector<ggml_backend_dev_t> devices;
@@ -525,10 +529,13 @@ struct ggml_backend_registry {
525529
#ifdef GGML_USE_CUDA
526530
register_backend(ggml_backend_cuda_reg());
527531
#endif
532+
#ifdef GGML_USE_METAL
533+
register_backend(ggml_backend_metal_reg());
534+
#endif
528535

529536
register_backend(ggml_backend_cpu_reg());
530537

531-
// TODO: sycl, metal, vulkan, kompute, cann
538+
// TODO: sycl, vulkan, kompute, cann
532539
}
533540

534541
void register_backend(ggml_backend_reg_t reg) {
@@ -1170,7 +1177,7 @@ static ggml_backend_dev_t ggml_backend_cpu_reg_device_get(ggml_backend_reg_t reg
11701177
GGML_UNUSED(index);
11711178
}
11721179

1173-
struct ggml_backend_reg_i ggml_backend_cpu_reg_i = {
1180+
static const struct ggml_backend_reg_i ggml_backend_cpu_reg_i = {
11741181
/* .get_name = */ ggml_backend_cpu_reg_name,
11751182
/* .device_count = */ ggml_backend_cpu_reg_device_count,
11761183
/* .device_get = */ ggml_backend_cpu_reg_device_get,

0 commit comments

Comments
 (0)