From c2de5cf735d46f5ad67fb8cef7ea4b9909c98dfa Mon Sep 17 00:00:00 2001 From: Ismo Puustinen Date: Tue, 1 Aug 2017 14:09:11 +0300 Subject: [PATCH] dnn: force floating point literals to be float. In OpenCL code in activations.cl, make the type of floating point literals to be float. Otherwise the values will be interpreted as doubles, causing Beignet to have type conversion issues. --- modules/dnn/src/opencl/activations.cl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/dnn/src/opencl/activations.cl b/modules/dnn/src/opencl/activations.cl index 58da4db4d0..b98e52f674 100644 --- a/modules/dnn/src/opencl/activations.cl +++ b/modules/dnn/src/opencl/activations.cl @@ -21,13 +21,13 @@ __kernel void TanHForward(const int count, __global T* in, __global T* out) { __kernel void SigmoidForward(const int count, __global const T* in, __global T* out) { int index = get_global_id(0); if(index < count) - out[index] = 1. / (1. + exp(-in[index])); + out[index] = 1.0f / (1.0f + exp(-in[index])); } __kernel void BNLLForward(const int n, __global const T* in, __global T* out) { int index = get_global_id(0); if (index < n) { - out[index] = in[index] > 0 ? in[index] + log(1. + exp(-in[index])) : log(1. + exp(in[index])); + out[index] = in[index] > 0 ? in[index] + log(1.0f + exp(-in[index])) : log(1.0f + exp(in[index])); } } @@ -41,4 +41,4 @@ __kernel void PowForward(const int n, __global const T* in, __global T* out, con int index = get_global_id(0); if (index < n) out[index] = pow(shift + scale * in[index], power); -} \ No newline at end of file +}