Skip to content

Commit 392e09a

Browse files
authored
vulkan: fix memory allocations (#17122)
1 parent 802cef4 commit 392e09a

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

ggml/src/ggml-vulkan/ggml-vulkan.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2220,9 +2220,12 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std
22202220
}
22212221
buf->memory_property_flags = req_flags;
22222222

2223+
bool done = false;
2224+
22232225
for (auto mtype_it = memory_type_indices.begin(); mtype_it != memory_type_indices.end(); mtype_it++) {
22242226
try {
22252227
buf->device_memory = device->device.allocateMemory({ mem_req.size, *mtype_it, &mem_flags_info });
2228+
done = true;
22262229
break;
22272230
} catch (const vk::SystemError& e) {
22282231
// loop and retry
@@ -2233,6 +2236,10 @@ static vk_buffer ggml_vk_create_buffer(vk_device& device, size_t size, const std
22332236
}
22342237
}
22352238
}
2239+
2240+
if (done) {
2241+
break;
2242+
}
22362243
}
22372244

22382245
if (!buf->device_memory) {

0 commit comments

Comments
 (0)