|
|
@@ -273,6 +273,15 @@ static ggml_cuda_device_info ggml_cuda_init() {
|
|
|
} else if (device_name.substr(0, 21) == "NVIDIA GeForce GTX 16") {
|
|
|
turing_devices_without_mma.push_back({ id, device_name });
|
|
|
}
|
|
|
+
|
|
|
+ // Temporary performance fix:
|
|
|
+ // Setting device scheduling strategy for iGPUs with cc121 to "spinning" to avoid delays in cuda synchronize calls.
|
|
|
+ // TODO: Check for future drivers the default scheduling strategy and
|
|
|
+ // remove this call again when cudaDeviceScheduleSpin is default.
|
|
|
+ if (prop.major == 12 && prop.minor == 1) {
|
|
|
+ CUDA_CHECK(cudaSetDeviceFlags(cudaDeviceScheduleSpin));
|
|
|
+ }
|
|
|
+
|
|
|
#endif // defined(GGML_USE_HIP)
|
|
|
}
|
|
|
|