diff --git a/projects/clr/rocclr/runtime/device/cpu/cpudevice.cpp b/projects/clr/rocclr/runtime/device/cpu/cpudevice.cpp index 5fd20143b7..4ac3b0fad8 100644 --- a/projects/clr/rocclr/runtime/device/cpu/cpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/cpu/cpudevice.cpp @@ -5,6 +5,7 @@ #include "device/cpu/cpudevice.hpp" #include "device/cpu/cpuprogram.hpp" #include "utils/versions.hpp" +#include "utils/flags.hpp" #include "amdocl/cl_common.hpp" @@ -236,7 +237,7 @@ Device::init() (uintptr_t) std::min(statex.ullTotalPageFile, statex.ullTotalVirtual); #endif //disable CPU device if system memory is equal to or less than 2GB - if (info.globalMemSize_ <= 2 * Gi) { + if (info.globalMemSize_ <= OCL_SYSMEM_REQUIREMENT * Gi) { return true; } diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index 134db00f65..29eeb46b99 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -763,7 +763,7 @@ Device::create(CALuint ordinal, CALuint numOfDevices) appProfile_.init(); bool smallMemSystem = false; - if (amd::Os::hostTotalPhysicalMemory() < 2 * Gi) { + if (amd::Os::hostTotalPhysicalMemory() < OCL_SYSMEM_REQUIREMENT * Gi) { smallMemSystem = true; } diff --git a/projects/clr/rocclr/runtime/utils/flags.hpp b/projects/clr/rocclr/runtime/utils/flags.hpp index 3e4db8c522..a9838d127f 100644 --- a/projects/clr/rocclr/runtime/utils/flags.hpp +++ b/projects/clr/rocclr/runtime/utils/flags.hpp @@ -166,6 +166,8 @@ release(int, AMD_GPU_FORCE_SINGLE_FP_DENORM, -1, \ "Force denorm for single precision: -1 - don't force, 0 - disable, 1 - enable") \ debug(bool, OCL_FORCE_CPU_SVM, false, \ "force svm support for CPU") \ +debug(uint, OCL_SYSMEM_REQUIREMENT, 2, \ + "Use flag to change the minimum requirement of system memory not to downgrade") \ debug(bool, GPU_ENABLE_HW_DEBUG, false, \ "Enable HW DEBUG for GPU") \ release(uint, GPU_WAVES_PER_SIMD, 0, \