diff --git a/rocclr/runtime/device/cpu/cpudevice.cpp b/rocclr/runtime/device/cpu/cpudevice.cpp index 5f20e24c2b..a305a9f961 100644 --- a/rocclr/runtime/device/cpu/cpudevice.cpp +++ b/rocclr/runtime/device/cpu/cpudevice.cpp @@ -265,10 +265,13 @@ Device::init() info.linkerAvailable_ = CL_TRUE; info.executionCapabilities_ = CL_EXEC_KERNEL | CL_EXEC_NATIVE_KERNEL; - info.svmCapabilities_ = CL_DEVICE_SVM_COARSE_GRAIN_BUFFER | - CL_DEVICE_SVM_FINE_GRAIN_BUFFER | - CL_DEVICE_SVM_FINE_GRAIN_SYSTEM | - CL_DEVICE_SVM_ATOMICS; + // Enable SVM only for OpenCL 2.0 + if ((OPENCL_MAJOR >= 2) && (CPU_OPENCL_VERSION >= 200)) { + info.svmCapabilities_ = CL_DEVICE_SVM_COARSE_GRAIN_BUFFER | + CL_DEVICE_SVM_FINE_GRAIN_BUFFER | + CL_DEVICE_SVM_FINE_GRAIN_SYSTEM | + CL_DEVICE_SVM_ATOMICS; + } info.preferredPlatformAtomicAlignment_ = 0; info.preferredGlobalAtomicAlignment_ = 0; info.preferredLocalAtomicAlignment_ = 0; diff --git a/rocclr/runtime/device/cpu/cpusettings.cpp b/rocclr/runtime/device/cpu/cpusettings.cpp index 2c407d1dad..e654d32b63 100644 --- a/rocclr/runtime/device/cpu/cpusettings.cpp +++ b/rocclr/runtime/device/cpu/cpusettings.cpp @@ -54,6 +54,7 @@ Settings::create() enableExtension(ClKhrSubGroups); supportDepthsRGB_ = true; enableExtension(ClKhrDepthImages); + customSvmAllocator_ = true; } // Map CPUID feature bits to our own feature bits