Skip to content

Commit 50494a2

Browse files
authored
ggml : skip already registered backends and devices (#22296)
Signed-off-by: Adrien Gallouët <angt@huggingface.co>
1 parent d530d6e commit 50494a2

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

ggml/src/ggml-backend-reg.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,12 @@ struct ggml_backend_registry {
181181
return;
182182
}
183183

184+
for (auto & entry : backends) {
185+
if (entry.reg == reg) {
186+
return;
187+
}
188+
}
189+
184190
#ifndef NDEBUG
185191
GGML_LOG_DEBUG("%s: registered backend %s (%zu devices)\n",
186192
__func__, ggml_backend_reg_name(reg), ggml_backend_reg_dev_count(reg));
@@ -192,6 +198,12 @@ struct ggml_backend_registry {
192198
}
193199

194200
void register_device(ggml_backend_dev_t device) {
201+
for (auto & dev : devices) {
202+
if (dev == device) {
203+
return;
204+
}
205+
}
206+
195207
#ifndef NDEBUG
196208
GGML_LOG_DEBUG("%s: registered device %s (%s)\n", __func__, ggml_backend_dev_name(device), ggml_backend_dev_description(device));
197209
#endif

0 commit comments

Comments
 (0)