tmp: probe chunk import success
This commit is contained in:
@@ -17945,6 +17945,7 @@ static bool ggml_backend_vk_register_host_buffer(void * buffer, size_t size) {
|
||||
}
|
||||
|
||||
bool success = false;
|
||||
size_t total_registered = 0;
|
||||
for (size_t i = 0; i < GGML_VK_MAX_DEVICES; i++) {
|
||||
vk_device& device = vk_instance.devices[i];
|
||||
if (!device || !device->external_memory_host || device->max_buffer_size == 0) {
|
||||
@@ -17960,10 +17961,12 @@ static bool ggml_backend_vk_register_host_buffer(void * buffer, size_t size) {
|
||||
uint8_t * p = static_cast<uint8_t *>(buffer);
|
||||
size_t remaining = size;
|
||||
bool dev_success = false;
|
||||
size_t n_chunks = 0;
|
||||
while (remaining > 0) {
|
||||
size_t cur = std::min(remaining, chunk);
|
||||
vk_buffer buf = ggml_vk_buffer_from_host_ptr(device, p, cur);
|
||||
if (!buf || !buf->buffer) {
|
||||
fprintf(stderr, "PROBE chunk import FAILED at offset %zu cur=%zu remaining=%zu\n", (size_t)(p - (uint8_t*)buffer), cur, remaining);
|
||||
break;
|
||||
}
|
||||
{
|
||||
@@ -17971,9 +17974,12 @@ static bool ggml_backend_vk_register_host_buffer(void * buffer, size_t size) {
|
||||
device->pinned_memory.emplace_back(p, cur, buf);
|
||||
}
|
||||
dev_success = true;
|
||||
total_registered += cur;
|
||||
n_chunks++;
|
||||
p += cur;
|
||||
remaining -= cur;
|
||||
}
|
||||
fprintf(stderr, "PROBE device[%zu] registered %zu chunks %.2f MiB (of %.2f MiB)\n", i, n_chunks, (total_registered)/1048576.0, size/1048576.0);
|
||||
if (dev_success) {
|
||||
success = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user