File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ struct ggml_vk_device {
26
26
27
27
struct ggml_vk_device * ggml_vk_available_devices (size_t memoryRequired , size_t * count );
28
28
int ggml_backend_kompute_get_device_count (void );
29
+ void ggml_backend_kompute_get_device_memory (int device , size_t * free , size_t * total );
29
30
bool ggml_vk_get_device (struct ggml_vk_device * device , size_t memoryRequired , const char * name );
30
31
bool ggml_vk_has_vulkan (void );
31
32
Original file line number Diff line number Diff line change @@ -339,6 +339,19 @@ int ggml_backend_kompute_get_device_count(void) {
339
339
return devices.size ();
340
340
}
341
341
342
+
343
+ void ggml_backend_kompute_get_device_memory (int device, size_t * free, size_t * total) {
344
+ auto devices = ggml_vk_available_devices_internal (0 );
345
+
346
+ for (std::size_t i = 0 ; i < devices.size (); i++) {
347
+ if (devices[i].index == device) {
348
+ *total = devices[i].heapSize ;
349
+ *free = devices[i].heapSize ;
350
+ break ;
351
+ }
352
+ }
353
+ }
354
+
342
355
static void ggml_vk_filterByVendor (std::vector<ggml_vk_device>& devices, const std::string& targetVendor) {
343
356
devices.erase (
344
357
std::remove_if (devices.begin (), devices.end (),
You can’t perform that action at this time.
0 commit comments