diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 715a19404..4f1f937bb 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -14802,6 +14802,9 @@ static void ggml_cl_sigmoid(ggml_backend_t backend, const ggml_tensor * src0, co kernel = backend_ctx->kernel_sigmoid_f32; } else if (src0->type == GGML_TYPE_F16 && dst->type == GGML_TYPE_F16) { kernel = backend_ctx->kernel_sigmoid_f16; + } else if (src0->type == GGML_TYPE_BF16 && dst->type == GGML_TYPE_BF16) { + // bf16 converted to f16 + kernel = backend_ctx->kernel_sigmoid_f16; } else { GGML_ASSERT(false && "Unsupported data types for sigmoid (input and output must be both f32 or f16)"); }