@@ -293,6 +293,11 @@ inline void ggml_sycl_op_bin_bcast(ggml_backend_sycl_context & ctx, const ggml_t
293293 (sycl::ext::oneapi::bfloat16 *) dst->data , ne00, ne01, ne02, ne03, ne10, ne11, ne12, ne13, ne0, ne1, ne2,
294294 ne3, nb00, nb01, nb02, nb03, nb10, nb11, nb12, nb13, nb0, nb1, nb2, nb3, ggml_is_contiguous (src0),
295295 ggml_is_contiguous (src1), ggml_is_permuted (src0), ggml_is_permuted (src1), main_stream);
296+ } else if (src0->type == GGML_TYPE_BF16 && src1->type == GGML_TYPE_F32 && dst->type == GGML_TYPE_BF16 ) {
297+ op ()((const sycl::ext::oneapi::bfloat16 *) src0->data , (const float *) src1->data ,
298+ (sycl::ext::oneapi::bfloat16 *) dst->data , ne00, ne01, ne02, ne03, ne10, ne11, ne12, ne13, ne0, ne1, ne2,
299+ ne3, nb00, nb01, nb02, nb03, nb10, nb11, nb12, nb13, nb0, nb1, nb2, nb3, ggml_is_contiguous (src0),
300+ ggml_is_contiguous (src1), ggml_is_permuted (src0), ggml_is_permuted (src1), main_stream);
296301#endif
297302 } else {
298303 fprintf (stderr, " %s: unsupported types: dst: %s, src0: %s, src1: %s\n " , __func__, ggml_type_name (dst->type ),
0 commit comments