ggml-webgpu: add support for f16 repeat (llama/26307)

This commit is contained in:
Masashi Yoshimura
2026-08-04 13:37:47 +03:00
committed by Georgi Gerganov
parent 83105b7c3c
commit cabd684e45
3 changed files with 9 additions and 1 deletions
@@ -2774,6 +2774,10 @@ class ggml_webgpu_shader_lib {
defines.push_back("TYPE_F32");
variant += "_f32";
break;
case GGML_TYPE_F16:
defines.push_back("TYPE_F16");
variant += "_f16";
break;
case GGML_TYPE_I32:
defines.push_back("TYPE_I32");
variant += "_i32";
+2 -1
View File
@@ -4290,7 +4290,8 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const
supports_op = (src0->type == GGML_TYPE_F32 || src0->type == GGML_TYPE_I32);
break;
case GGML_OP_REPEAT:
supports_op = (src0->type == GGML_TYPE_F32 || src0->type == GGML_TYPE_I32 || src0->type == GGML_TYPE_I16);
supports_op = (src0->type == GGML_TYPE_F32 || src0->type == GGML_TYPE_F16 || src0->type == GGML_TYPE_I32 ||
src0->type == GGML_TYPE_I16);
break;
case GGML_OP_CPY:
case GGML_OP_CONT:
@@ -27,6 +27,9 @@ struct Params {
#ifdef TYPE_I32
#define DataType i32
#endif
#ifdef TYPE_F16
#define DataType f16
#endif
#ifdef TYPE_I16
// same size (16-bit) is sufficient for repeat
#define DataType f16