1#pragma OPENCL EXTENSION cl_khr_fp16 : enable
 2
 3//------------------------------------------------------------------------------
 4// sigmoid
 5//------------------------------------------------------------------------------
 6
 7kernel void kernel_sigmoid_f32(
 8        global float * src0,
 9        ulong offset0,
10        global float * dst,
11        ulong offsetd
12) {
13    src0 = (global float*)((global char*)src0 + offset0);
14    dst = (global float*)((global char*)dst + offsetd);
15
16    dst[get_global_id(0)] = 1.0f / (1.0f + exp(-src0[get_global_id(0)]));
17}
18
19kernel void kernel_sigmoid_f16(
20        global half * src0,
21        ulong offset0,
22        global half * dst,
23        ulong offsetd
24) {
25    src0 = (global half*)((global char*)src0 + offset0);
26    dst = (global half*)((global char*)dst + offsetd);
27
28    dst[get_global_id(0)] = 1.0f / (1.0f + exp(-src0[get_global_id(0)]));
29}