Skip to content

Commit 4b5b503

Browse files
committed
adjusted gpu selection logic
1 parent d6a0dcb commit 4b5b503

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

ggml/include/ggml-backend.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ extern "C" {
202202
//
203203
// Backend registry
204204
//
205+
GGML_API void ggml_backend_reg_layla(bool useVulkan, bool useOpenCL);
205206

206207
// Backend (reg) enumeration
207208
GGML_API size_t ggml_backend_reg_count(void);

ggml/src/ggml-backend-reg.cpp

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,9 @@ struct ggml_backend_reg_entry {
148148
dl_handle_ptr handle;
149149
};
150150

151+
static bool laylaUseVulkan = false;
152+
static bool laylaUseOpenCL = false;
153+
151154
struct ggml_backend_registry {
152155
std::vector<ggml_backend_reg_entry> backends;
153156
std::vector<ggml_backend_dev_t> devices;
@@ -163,10 +166,14 @@ struct ggml_backend_registry {
163166
register_backend(ggml_backend_sycl_reg());
164167
#endif
165168
#ifdef GGML_USE_VULKAN
166-
register_backend(ggml_backend_vk_reg());
169+
if(laylaUseVulkan) {
170+
register_backend(ggml_backend_vk_reg());
171+
}
167172
#endif
168173
#ifdef GGML_USE_OPENCL
169-
register_backend(ggml_backend_opencl_reg());
174+
if(laylaUseOpenCL) {
175+
register_backend(ggml_backend_opencl_reg());
176+
}
170177
#endif
171178
#ifdef GGML_USE_CANN
172179
register_backend(ggml_backend_cann_reg());
@@ -288,6 +295,11 @@ struct ggml_backend_registry {
288295
}
289296
};
290297

298+
void ggml_backend_reg_layla(bool useVulkan, bool useOpenCL) {
299+
laylaUseVulkan = useVulkan;
300+
laylaUseOpenCL = useOpenCL;
301+
}
302+
291303
static ggml_backend_registry & get_reg() {
292304
static ggml_backend_registry reg;
293305
return reg;

0 commit comments

Comments
 (0)