Skip to content

Commit 457f186

Browse files
committed
update other backend supports op for ggml_pad_ext
1 parent b38bfbb commit 457f186

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

ggml/src/ggml-metal/ggml-metal.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1886,7 +1886,12 @@ static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_contex
18861886
case GGML_OP_UPSCALE:
18871887
return op->src[0]->type == GGML_TYPE_F32 && op->op_params[0] == GGML_SCALE_MODE_NEAREST;
18881888
case GGML_OP_POOL_2D:
1889+
return op->src[0]->type == GGML_TYPE_F32;
18891890
case GGML_OP_PAD:
1891+
return (ggml_get_op_params_i32(op, 0) == 0) && (ggml_get_op_params_i32(op, 1) == 0) &&
1892+
(ggml_get_op_params_i32(op, 2) == 0) && (ggml_get_op_params_i32(op, 3) == 0) &&
1893+
(ggml_get_op_params_i32(op, 4) == 0) && (ggml_get_op_params_i32(op, 5) == 0) &&
1894+
(ggml_get_op_params_i32(op, 6) == 0) && (ggml_get_op_params_i32(op, 7) == 0);
18901895
case GGML_OP_PAD_REFLECT_1D:
18911896
case GGML_OP_TIMESTEP_EMBEDDING:
18921897
case GGML_OP_ARGSORT:

ggml/src/ggml-opencl/ggml-opencl.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2701,7 +2701,11 @@ static bool ggml_opencl_supports_op(ggml_backend_dev_t dev, const struct ggml_te
27012701
return op->src[0]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32; // Assuming F32 for now, can be expanded
27022702
case GGML_OP_PAD:
27032703
return op->src[0]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32 &&
2704-
op->src[0]->ne[3] == 1 && op->ne[3] == 1;
2704+
op->src[0]->ne[3] == 1 && op->ne[3] == 1 &&
2705+
(ggml_get_op_params_i32(op, 0) == 0) && (ggml_get_op_params_i32(op, 1) == 0) &&
2706+
(ggml_get_op_params_i32(op, 2) == 0) && (ggml_get_op_params_i32(op, 3) == 0) &&
2707+
(ggml_get_op_params_i32(op, 4) == 0) && (ggml_get_op_params_i32(op, 5) == 0) &&
2708+
(ggml_get_op_params_i32(op, 6) == 0) && (ggml_get_op_params_i32(op, 7) == 0);
27052709
case GGML_OP_UPSCALE:
27062710
return op->src[0]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32;
27072711
case GGML_OP_CONV_2D:

ggml/src/ggml-sycl/ggml-sycl.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4398,7 +4398,12 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g
43984398
return ggml_is_contiguous(op->src[0]);
43994399
case GGML_OP_POOL_2D:
44004400
case GGML_OP_ACC:
4401+
return true;
44014402
case GGML_OP_PAD:
4403+
return (ggml_get_op_params_i32(op, 0) == 0) && (ggml_get_op_params_i32(op, 1) == 0) &&
4404+
(ggml_get_op_params_i32(op, 2) == 0) && (ggml_get_op_params_i32(op, 3) == 0) &&
4405+
(ggml_get_op_params_i32(op, 4) == 0) && (ggml_get_op_params_i32(op, 5) == 0) &&
4406+
(ggml_get_op_params_i32(op, 6) == 0) && (ggml_get_op_params_i32(op, 7) == 0);
44024407
case GGML_OP_LEAKY_RELU:
44034408
case GGML_OP_TIMESTEP_EMBEDDING:
44044409
case GGML_OP_RWKV_WKV6:

0 commit comments

Comments
 (0)