diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp index 859bf975c1..473b217508 100644 --- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp +++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp @@ -486,6 +486,10 @@ void Device::fillDeviceInfo( info_.singleFPConfig_ = CL_FP_ROUND_TO_NEAREST | CL_FP_ROUND_TO_ZERO | CL_FP_ROUND_TO_INF | CL_FP_INF_NAN | CL_FP_FMA; + if (GPU_FORCE_SINGLE_FP_DENORM) { + info_.singleFPConfig_ |= CL_FP_DENORM; + } + if (settings().checkExtension(ClKhrFp64)) { info_.doubleFPConfig_ = info_.singleFPConfig_ | CL_FP_DENORM; } diff --git a/projects/clr/rocclr/runtime/utils/flags.hpp b/projects/clr/rocclr/runtime/utils/flags.hpp index 5407d48aa0..d75b189e21 100644 --- a/projects/clr/rocclr/runtime/utils/flags.hpp +++ b/projects/clr/rocclr/runtime/utils/flags.hpp @@ -170,6 +170,8 @@ release(bool, GPU_IFH_MODE, false, \ "1 = Enable GPU IFH (infinitely fast hardware) mode. Any other value keeps setting disabled.") \ release(bool, HSAIL_IMAGE_HANDLE_ENABLE, false, \ "Pass image/sampler SRD as pointer instead of blob") \ +debug(bool, GPU_FORCE_SINGLE_FP_DENORM, false, \ + "Forces reporting CL_FP_DENORM bit for single precision") \ namespace amd {