We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 10c6501 commit 927af46Copy full SHA for 927af46
stable-diffusion.cpp
@@ -172,7 +172,17 @@ class StableDiffusionGGML {
172
#endif
173
#ifdef SD_USE_VULKAN
174
LOG_DEBUG("Using Vulkan backend");
175
- for (int device = 0; device < ggml_backend_vk_get_device_count(); ++device) {
+ size_t device = 0;
176
+ const int device_count = ggml_backend_vk_get_device_count();
177
+ if (device_count) {
178
+ const char* SD_VK_DEVICE = getenv("SD_VK_DEVICE");
179
+ if (SD_VK_DEVICE != nullptr) {
180
+ device = (size_t)std::stoull(SD_VK_DEVICE);
181
+ if (device >= device_count) {
182
+ LOG_WARN("Cannot find targeted vulkan device (%lld), falling back to device 0...", device);
183
+ device = 0;
184
+ }
185
186
backend = ggml_backend_vk_init(device);
187
}
188
if (!backend) {
0 commit comments