JohannesGaessler commited on
Commit
f14c1ad
·
1 Parent(s): 643bcdb

CUDA/HIP: fix tests/test-backend-ops (llama/8896)

Browse files
Files changed (1) hide show
  1. ggml/src/ggml-cuda.cu +7 -6
ggml/src/ggml-cuda.cu CHANGED
@@ -2742,11 +2742,12 @@ GGML_CALL static bool ggml_backend_cuda_supports_op(ggml_backend_t backend, cons
2742
  case GGML_OP_MUL_MAT_ID:
2743
  {
2744
  struct ggml_tensor * a = op->src[0];
2745
- if (op->op == GGML_OP_MUL_MAT) {
2746
- struct ggml_tensor * b = op->src[1];
2747
- if (a->ne[3] != b->ne[3]) {
2748
- return false;
2749
- }
 
2750
  }
2751
  switch (a->type) {
2752
  case GGML_TYPE_F32:
@@ -2877,7 +2878,7 @@ GGML_CALL static bool ggml_backend_cuda_supports_op(ggml_backend_t backend, cons
2877
  return true;
2878
  case GGML_OP_FLASH_ATTN_EXT:
2879
  #if defined(GGML_USE_HIPBLAS) && defined(__HIP_PLATFORM_AMD__)
2880
- return op->src[0]->ne[0] == 64 || op->src[0]->ne[0] == 128;
2881
  #else
2882
  if (op->src[0]->ne[0] == 128) {
2883
  return true;
 
2742
  case GGML_OP_MUL_MAT_ID:
2743
  {
2744
  struct ggml_tensor * a = op->src[0];
2745
+ struct ggml_tensor * b = op->src[1];
2746
+ if (b->type == GGML_TYPE_F16 && a->type != GGML_TYPE_F16) {
2747
+ return false;
2748
+ }
2749
+ if (op->op == GGML_OP_MUL_MAT && a->ne[3] != b->ne[3]) {
2750
+ return false;
2751
  }
2752
  switch (a->type) {
2753
  case GGML_TYPE_F32:
 
2878
  return true;
2879
  case GGML_OP_FLASH_ATTN_EXT:
2880
  #if defined(GGML_USE_HIPBLAS) && defined(__HIP_PLATFORM_AMD__)
2881
+ return (op->src[0]->ne[0] == 64 && op->src[1]->type == GGML_TYPE_F16) || op->src[0]->ne[0] == 128;
2882
  #else
2883
  if (op->src[0]->ne[0] == 128) {
2884
  return true;