Spaces:
Running
Running
cmake : fix VULKAN and ROCm builds (llama/5525)
Browse files* cmake : fix VULKAN and ROCm builds
* cmake : fix (cont)
* vulkan : fix compile warnings
ggml-ci
* cmake : fix
ggml-ci
* cmake : minor
ggml-ci
- ggml-vulkan.cpp +6 -6
ggml-vulkan.cpp
CHANGED
|
@@ -1091,7 +1091,7 @@ static void ggml_vk_print_gpu_info(size_t idx) {
|
|
| 1091 |
}
|
| 1092 |
}
|
| 1093 |
|
| 1094 |
-
void ggml_vk_instance_init() {
|
| 1095 |
if (vk_instance_initialized) {
|
| 1096 |
return;
|
| 1097 |
}
|
|
@@ -1150,7 +1150,7 @@ void ggml_vk_instance_init() {
|
|
| 1150 |
vk_instance_initialized = true;
|
| 1151 |
}
|
| 1152 |
|
| 1153 |
-
void ggml_vk_init(ggml_backend_vk_context * ctx, size_t idx) {
|
| 1154 |
GGML_ASSERT(idx < vk_instance.device_indices.size());
|
| 1155 |
size_t dev_num = vk_instance.device_indices[idx];
|
| 1156 |
#ifdef GGML_VULKAN_DEBUG
|
|
@@ -4556,13 +4556,13 @@ static void ggml_vk_cleanup(ggml_backend_vk_context * ctx) {
|
|
| 4556 |
}
|
| 4557 |
}
|
| 4558 |
|
| 4559 |
-
GGML_CALL int ggml_vk_get_device_count() {
|
| 4560 |
ggml_vk_instance_init();
|
| 4561 |
|
| 4562 |
return vk_instance.device_indices.size();
|
| 4563 |
}
|
| 4564 |
|
| 4565 |
-
GGML_CALL void ggml_vk_get_device_description(int device, char * description, size_t description_size) {
|
| 4566 |
ggml_vk_instance_init();
|
| 4567 |
|
| 4568 |
std::vector<vk::PhysicalDevice> devices = vk_instance.instance.enumeratePhysicalDevices();
|
|
@@ -4580,7 +4580,7 @@ void ggml_vk_init_cpu_assist() {
|
|
| 4580 |
|
| 4581 |
std::cerr << "ggml_vulkan: Found " << ggml_vk_get_device_count() << " Vulkan devices:" << std::endl;
|
| 4582 |
|
| 4583 |
-
for (
|
| 4584 |
ggml_vk_print_gpu_info(i);
|
| 4585 |
}
|
| 4586 |
// Initialize the first backend to make sure CPU matrix multiplications can be offloaded.
|
|
@@ -5267,7 +5267,7 @@ GGML_CALL void ggml_backend_vk_get_device_description(int device, char * descrip
|
|
| 5267 |
}
|
| 5268 |
|
| 5269 |
GGML_CALL void ggml_backend_vk_get_device_memory(int device, size_t * free, size_t * total) {
|
| 5270 |
-
GGML_ASSERT(device < vk_instance.device_indices.size());
|
| 5271 |
|
| 5272 |
vk::PhysicalDevice vkdev = vk_instance.instance.enumeratePhysicalDevices()[vk_instance.device_indices[device]];
|
| 5273 |
|
|
|
|
| 1091 |
}
|
| 1092 |
}
|
| 1093 |
|
| 1094 |
+
static void ggml_vk_instance_init() {
|
| 1095 |
if (vk_instance_initialized) {
|
| 1096 |
return;
|
| 1097 |
}
|
|
|
|
| 1150 |
vk_instance_initialized = true;
|
| 1151 |
}
|
| 1152 |
|
| 1153 |
+
static void ggml_vk_init(ggml_backend_vk_context * ctx, size_t idx) {
|
| 1154 |
GGML_ASSERT(idx < vk_instance.device_indices.size());
|
| 1155 |
size_t dev_num = vk_instance.device_indices[idx];
|
| 1156 |
#ifdef GGML_VULKAN_DEBUG
|
|
|
|
| 4556 |
}
|
| 4557 |
}
|
| 4558 |
|
| 4559 |
+
GGML_CALL static int ggml_vk_get_device_count() {
|
| 4560 |
ggml_vk_instance_init();
|
| 4561 |
|
| 4562 |
return vk_instance.device_indices.size();
|
| 4563 |
}
|
| 4564 |
|
| 4565 |
+
GGML_CALL static void ggml_vk_get_device_description(int device, char * description, size_t description_size) {
|
| 4566 |
ggml_vk_instance_init();
|
| 4567 |
|
| 4568 |
std::vector<vk::PhysicalDevice> devices = vk_instance.instance.enumeratePhysicalDevices();
|
|
|
|
| 4580 |
|
| 4581 |
std::cerr << "ggml_vulkan: Found " << ggml_vk_get_device_count() << " Vulkan devices:" << std::endl;
|
| 4582 |
|
| 4583 |
+
for (int i = 0; i < ggml_vk_get_device_count(); i++) {
|
| 4584 |
ggml_vk_print_gpu_info(i);
|
| 4585 |
}
|
| 4586 |
// Initialize the first backend to make sure CPU matrix multiplications can be offloaded.
|
|
|
|
| 5267 |
}
|
| 5268 |
|
| 5269 |
GGML_CALL void ggml_backend_vk_get_device_memory(int device, size_t * free, size_t * total) {
|
| 5270 |
+
GGML_ASSERT(device < (int) vk_instance.device_indices.size());
|
| 5271 |
|
| 5272 |
vk::PhysicalDevice vkdev = vk_instance.instance.enumeratePhysicalDevices()[vk_instance.device_indices[device]];
|
| 5273 |
|