Akarshan Biswas commited on
Commit
723b8b4
·
1 Parent(s): 2094cb7

SYCL: Disable f16 Unary OPs as not supported by the kernels (llama/12201)

Browse files
Files changed (1) hide show
  1. ggml/src/ggml-sycl/ggml-sycl.cpp +10 -8
ggml/src/ggml-sycl/ggml-sycl.cpp CHANGED
@@ -41,6 +41,7 @@
41
  #include "ggml-sycl/gemm.hpp"
42
  #include "ggml-sycl/sycl_hw.hpp"
43
  #include "ggml-sycl/getrows.hpp"
 
44
 
45
  static bool g_sycl_loaded = false;
46
  int g_ggml_sycl_debug = 0;
@@ -3864,7 +3865,7 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g
3864
  case GGML_UNARY_OP_GELU_QUICK:
3865
  case GGML_UNARY_OP_TANH:
3866
  case GGML_UNARY_OP_EXP:
3867
- return ggml_is_contiguous(op->src[0]);
3868
  default:
3869
  return false;
3870
  }
@@ -3981,23 +3982,24 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g
3981
  case GGML_OP_VIEW:
3982
  case GGML_OP_PERMUTE:
3983
  case GGML_OP_TRANSPOSE:
 
3984
  case GGML_OP_ADD:
3985
  case GGML_OP_ADD1:
3986
- case GGML_OP_LOG:
3987
  case GGML_OP_SUB:
3988
  case GGML_OP_MUL:
3989
  case GGML_OP_DIV:
3990
- return true;
3991
- case GGML_OP_NORM:
3992
- case GGML_OP_RMS_NORM:
3993
- case GGML_OP_GROUP_NORM:
3994
- return ggml_is_contiguous(op->src[0]);
3995
- case GGML_OP_SCALE:
3996
  case GGML_OP_SQR:
3997
  case GGML_OP_SQRT:
3998
  case GGML_OP_SIN:
3999
  case GGML_OP_COS:
4000
  case GGML_OP_CLAMP:
 
 
 
 
 
 
 
4001
  return true;
4002
  case GGML_OP_CONT:
4003
  return op->src[0]->type != GGML_TYPE_BF16;
 
41
  #include "ggml-sycl/gemm.hpp"
42
  #include "ggml-sycl/sycl_hw.hpp"
43
  #include "ggml-sycl/getrows.hpp"
44
+ #include "ggml.h"
45
 
46
  static bool g_sycl_loaded = false;
47
  int g_ggml_sycl_debug = 0;
 
3865
  case GGML_UNARY_OP_GELU_QUICK:
3866
  case GGML_UNARY_OP_TANH:
3867
  case GGML_UNARY_OP_EXP:
3868
+ return ggml_is_contiguous(op->src[0]) && (op->src[0]->type == GGML_TYPE_F32);
3869
  default:
3870
  return false;
3871
  }
 
3982
  case GGML_OP_VIEW:
3983
  case GGML_OP_PERMUTE:
3984
  case GGML_OP_TRANSPOSE:
3985
+ return true;
3986
  case GGML_OP_ADD:
3987
  case GGML_OP_ADD1:
 
3988
  case GGML_OP_SUB:
3989
  case GGML_OP_MUL:
3990
  case GGML_OP_DIV:
 
 
 
 
 
 
3991
  case GGML_OP_SQR:
3992
  case GGML_OP_SQRT:
3993
  case GGML_OP_SIN:
3994
  case GGML_OP_COS:
3995
  case GGML_OP_CLAMP:
3996
+ case GGML_OP_LOG:
3997
+ return (op->src[0]->type == GGML_TYPE_F32);
3998
+ case GGML_OP_NORM:
3999
+ case GGML_OP_RMS_NORM:
4000
+ case GGML_OP_GROUP_NORM:
4001
+ return ggml_is_contiguous(op->src[0]);
4002
+ case GGML_OP_SCALE:
4003
  return true;
4004
  case GGML_OP_CONT:
4005
  return op->src[0]->type != GGML_TYPE_BF16;