summaryrefslogtreecommitdiff
path: root/ggml-sycl.cpp
diff options
context:
space:
mode:
authorUEXTM.com <84163508+uextm@users.noreply.github.com>2024-02-24 11:27:36 -0500
committerGeorgi Gerganov <ggerganov@gmail.com>2024-02-28 11:17:05 +0200
commit5f706718566e3a5147916dc381f3b99de0ffad47 (patch)
treea8375d9ea4eae5abac38cc0aba29fdedbf4fe9f5 /ggml-sycl.cpp
parenta693bea1e6762a17b78b6ddf4611e54136941ea2 (diff)
Introduce backend GUIDs (ggml/743)
* Introduce backend GUIDs Initial proposed implementation of backend GUIDs (Discussed in https://github.com/ggerganov/ggml/pull/741) Hardcoded CPU backend GUID (for now) Change ggml_backend_is_cpu logic to use GUID * Remove redundant functions Remove redundant functions `ggml_backend_i::get_name` and `ggml_backend_guid` which are not desired for future expansion * Add spaces to match style Co-authored-by: slaren <slarengh@gmail.com> * Fix brace style to match Co-authored-by: slaren <slarengh@gmail.com> * Add void to () in function signature Co-authored-by: slaren <slarengh@gmail.com> * Add back ggml_backend_guid and make CPU_GUID a local static in ggml_backend_cpu_guid * add guids to all backends ggml-ci --------- Co-authored-by: slaren <slarengh@gmail.com>
Diffstat (limited to 'ggml-sycl.cpp')
-rw-r--r--ggml-sycl.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/ggml-sycl.cpp b/ggml-sycl.cpp
index 835967fb..a054ec8b 100644
--- a/ggml-sycl.cpp
+++ b/ggml-sycl.cpp
@@ -15162,6 +15162,11 @@ static ggml_backend_i ggml_backend_sycl_interface = {
/* .supports_op = */ ggml_backend_sycl_supports_op,
};
+static ggml_guid_t ggml_backend_sycl_guid() {
+ static ggml_guid guid = { 0x58, 0x05, 0x13, 0x8f, 0xcd, 0x3a, 0x61, 0x9d, 0xe7, 0xcd, 0x98, 0xa9, 0x03, 0xfd, 0x7c, 0x53 };
+ return &guid;
+}
+
ggml_backend_t ggml_backend_sycl_init(int device) {
ggml_init_sycl(); // TODO: remove from ggml.c
@@ -15179,6 +15184,7 @@ ggml_backend_t ggml_backend_sycl_init(int device) {
};
ggml_backend_t sycl_backend = new ggml_backend {
+ /* .guid = */ ggml_backend_sycl_guid(),
/* .interface = */ ggml_backend_sycl_interface,
/* .context = */ ctx
};
@@ -15187,7 +15193,7 @@ ggml_backend_t ggml_backend_sycl_init(int device) {
}
bool ggml_backend_is_sycl(ggml_backend_t backend) {
- return backend->iface.get_name == ggml_backend_sycl_name;
+ return backend != NULL && ggml_guid_matches(backend->guid, ggml_backend_sycl_guid());
}
static ggml_backend_t ggml_backend_reg_sycl_init(const char * params, void * user_data) {