]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
ggml : better conv_1d naming
authorGeorgi Gerganov <redacted>
Tue, 30 May 2023 10:19:55 +0000 (13:19 +0300)
committerGeorgi Gerganov <redacted>
Tue, 30 May 2023 10:21:14 +0000 (13:21 +0300)
examples/whisper/whisper.cpp
include/ggml/ggml.h
src/ggml.c

index 198a1a9f870f0f6128bfba3a75be721bdad315d1..e28c63b60d250e4ea8ada3cdf49f2fb161b40158 100644 (file)
@@ -1468,7 +1468,7 @@ static bool whisper_encode_internal(
         {
             wstate.use_buf(ctx0, 1);
 
-            cur = ggml_conv_1d_1s_ph(ctx0, model.e_conv_1_w, mel);
+            cur = ggml_conv_1d_s1_ph(ctx0, model.e_conv_1_w, mel);
             cur = ggml_add(ctx0,
                     ggml_repeat(ctx0,
                         model.e_conv_1_b,
@@ -1479,7 +1479,7 @@ static bool whisper_encode_internal(
 
             wstate.use_buf(ctx0, 0);
 
-            cur = ggml_conv_1d_2s_ph(ctx0, model.e_conv_2_w, cur);
+            cur = ggml_conv_1d_s2_ph(ctx0, model.e_conv_2_w, cur);
             cur = ggml_add(ctx0,
                     ggml_repeat(ctx0,
                         model.e_conv_2_b,
index fa0f5ecd343dfca1905d99dc5739e2006cbc498c..9e3604bc83af0502a0e7f168c55f747b05d545be 100644 (file)
@@ -923,16 +923,42 @@ extern "C" {
             float                 min,
             float                 max);
 
+    // TODO: implement general-purpose convolutions
+    // GGML_API struct ggml_tensor * ggml_conv_1d(
+    //        struct ggml_context * ctx,
+    //        struct ggml_tensor  * a,
+    //        struct ggml_tensor  * b,
+    //        int                   s0
+    //        int                   p0,
+    //        int                   d0);
+    //
+    // GGML_API struct ggml_tensor * ggml_conv_2d(
+    //        struct ggml_context * ctx,
+    //        struct ggml_tensor  * a,
+    //        struct ggml_tensor  * b,
+    //        int                   s0,
+    //        int                   s1,
+    //        int                   p0,
+    //        int                   p1,
+    //        int                   d0,
+    //        int                   d1);
+
     // padding = half
     // TODO: we don't support extra parameters for now
     //       that's why we are hard-coding the stride, padding, and dilation
     //       not great ..
-    GGML_API struct ggml_tensor * ggml_conv_1d_1s_ph(
+    // example:
+    // a:      3   80  768    1
+    // b:   3000   80    1    1
+    // res: 3000  768    1    1
+    // used in whisper
+    GGML_API struct ggml_tensor * ggml_conv_1d_s1_ph(
             struct ggml_context * ctx,
             struct ggml_tensor  * a,
             struct ggml_tensor  * b);
 
-    GGML_API struct ggml_tensor * ggml_conv_1d_2s_ph(
+    // used in whisper
+    GGML_API struct ggml_tensor * ggml_conv_1d_s2_ph(
             struct ggml_context * ctx,
             struct ggml_tensor  * a,
             struct ggml_tensor  * b);
index 3a806d49b8a4d848ab6ca86bf3db626142e2e351..0080c3b5101763a5ceffa760b29dbd57bfea68a0 100644 (file)
@@ -3607,8 +3607,8 @@ static const char * GGML_OP_SYMBOL[GGML_OP_COUNT] = {
     "rope_back(x)",
     "alibi(x)",
     "clamp(x)",
-    "conv_1d_1s_ph(x)",
-    "conv_1d_2s_ph(x)",
+    "conv_1d_s1_ph(x)",
+    "conv_1d_s2_ph(x)",
 
     "flash_attn(x)",
     "flash_ff(x)",
@@ -6393,9 +6393,9 @@ struct ggml_tensor * ggml_clamp(
     return result;
 }
 
-// ggml_conv_1d_1s_ph
+// ggml_conv_1d_s1_ph
 
-struct ggml_tensor * ggml_conv_1d_1s_ph(
+struct ggml_tensor * ggml_conv_1d_s1_ph(
         struct ggml_context * ctx,
         struct ggml_tensor  * a,
         struct ggml_tensor  * b) {
@@ -6420,9 +6420,9 @@ struct ggml_tensor * ggml_conv_1d_1s_ph(
     return result;
 }
 
-// ggml_conv_1d_2s_ph
+// ggml_conv_1d_s2_ph
 
-struct ggml_tensor * ggml_conv_1d_2s_ph(
+struct ggml_tensor * ggml_conv_1d_s2_ph(
         struct ggml_context * ctx,
         struct ggml_tensor  * a,
         struct ggml_tensor  * b) {
@@ -11575,9 +11575,9 @@ static void ggml_compute_forward_rope_back(
     }
 }
 
-// ggml_compute_forward_conv_1d_1s_ph
+// ggml_compute_forward_conv_1d_s1_ph
 
-static void ggml_compute_forward_conv_1d_1s_ph_f16_f32(
+static void ggml_compute_forward_conv_1d_s1_ph_f16_f32(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -11697,7 +11697,7 @@ static void ggml_compute_forward_conv_1d_1s_ph_f16_f32(
     }
 }
 
-static void ggml_compute_forward_conv_1d_1s_ph_f32(
+static void ggml_compute_forward_conv_1d_s1_ph_f32(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -11817,7 +11817,7 @@ static void ggml_compute_forward_conv_1d_1s_ph_f32(
     }
 }
 
-static void ggml_compute_forward_conv_1d_1s_ph(
+static void ggml_compute_forward_conv_1d_s1_ph(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -11825,11 +11825,11 @@ static void ggml_compute_forward_conv_1d_1s_ph(
     switch (src0->type) {
         case GGML_TYPE_F16:
             {
-                ggml_compute_forward_conv_1d_1s_ph_f16_f32(params, src0, src1, dst);
+                ggml_compute_forward_conv_1d_s1_ph_f16_f32(params, src0, src1, dst);
             } break;
         case GGML_TYPE_F32:
             {
-                ggml_compute_forward_conv_1d_1s_ph_f32(params, src0, src1, dst);
+                ggml_compute_forward_conv_1d_s1_ph_f32(params, src0, src1, dst);
             } break;
         default:
             {
@@ -11838,9 +11838,9 @@ static void ggml_compute_forward_conv_1d_1s_ph(
     }
 }
 
-// ggml_compute_forward_conv_1d_2s_ph
+// ggml_compute_forward_conv_1d_s2_ph
 
-static void ggml_compute_forward_conv_1d_2s_ph_f16_f32(
+static void ggml_compute_forward_conv_1d_s2_ph_f16_f32(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -11960,7 +11960,7 @@ static void ggml_compute_forward_conv_1d_2s_ph_f16_f32(
     }
 }
 
-static void ggml_compute_forward_conv_1d_2s_ph_f32(
+static void ggml_compute_forward_conv_1d_s2_ph_f32(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -12080,7 +12080,7 @@ static void ggml_compute_forward_conv_1d_2s_ph_f32(
     }
 }
 
-static void ggml_compute_forward_conv_1d_2s_ph(
+static void ggml_compute_forward_conv_1d_s2_ph(
         const struct ggml_compute_params * params,
         const struct ggml_tensor * src0,
         const struct ggml_tensor * src1,
@@ -12088,11 +12088,11 @@ static void ggml_compute_forward_conv_1d_2s_ph(
     switch (src0->type) {
         case GGML_TYPE_F16:
             {
-                ggml_compute_forward_conv_1d_2s_ph_f16_f32(params, src0, src1, dst);
+                ggml_compute_forward_conv_1d_s2_ph_f16_f32(params, src0, src1, dst);
             } break;
         case GGML_TYPE_F32:
             {
-                ggml_compute_forward_conv_1d_2s_ph_f32(params, src0, src1, dst);
+                ggml_compute_forward_conv_1d_s2_ph_f32(params, src0, src1, dst);
             } break;
         default:
             {
@@ -13064,11 +13064,11 @@ static void ggml_compute_forward(struct ggml_compute_params * params, struct ggm
             } break;
         case GGML_OP_CONV_1D_1S:
             {
-                ggml_compute_forward_conv_1d_1s_ph(params, tensor->src0, tensor->src1, tensor);
+                ggml_compute_forward_conv_1d_s1_ph(params, tensor->src0, tensor->src1, tensor);
             } break;
         case GGML_OP_CONV_1D_2S:
             {
-                ggml_compute_forward_conv_1d_2s_ph(params, tensor->src0, tensor->src1, tensor);
+                ggml_compute_forward_conv_1d_s2_ph(params, tensor->src0, tensor->src1, tensor);
             } break;
         case GGML_OP_FLASH_ATTN:
             {