diff --git a/dpnp/backend/src/queue_sycl.hpp b/dpnp/backend/src/queue_sycl.hpp index 6100a03c872a..3c41401ad62f 100644 --- a/dpnp/backend/src/queue_sycl.hpp +++ b/dpnp/backend/src/queue_sycl.hpp @@ -67,8 +67,17 @@ class backend_sycl static backend_sycl &get() { +#if defined(_WIN32) && INTEL_MKL_VERSION == 20260000 + // TODO: remove once MKLD-19835 is resolved + // mt19937 (oneMKL 2026.0) destructor crashes during DLL_PROCESS_DETACH + // on Windows (Battlemage/Level Zero). Use a heap-allocated + // process-lifetime singleton to skip destructor; OS reclaims memory. + static backend_sycl *backend = new backend_sycl{}; + return *backend; +#else static backend_sycl backend{}; return backend; +#endif } static sycl::queue &get_queue()