Skip to content

Commit 1a7f661

Browse files
am17anqnixsynapse
authored andcommitted
CUDA: add mean operation (ggml-org#14313)
* CUDA: add mean operation * add back sum_rows_f32_cuda * Review: early exit if col!=0
1 parent 04c53f1 commit 1a7f661

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

ggml/src/ggml-cuda/ggml-cuda.cu

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#include "ggml-cuda/ssm-scan.cuh"
3838
#include "ggml-cuda/sum.cuh"
3939
#include "ggml-cuda/sumrows.cuh"
40+
#include "ggml-cuda/mean.cuh"
4041
#include "ggml-cuda/tsembd.cuh"
4142
#include "ggml-cuda/unary.cuh"
4243
#include "ggml-cuda/upscale.cuh"
@@ -2357,6 +2358,9 @@ static bool ggml_cuda_compute_forward(ggml_backend_cuda_context & ctx, struct gg
23572358
case GGML_OP_SUM_ROWS:
23582359
ggml_cuda_op_sum_rows(ctx, dst);
23592360
break;
2361+
case GGML_OP_MEAN:
2362+
ggml_cuda_op_mean(ctx, dst);
2363+
break;
23602364
case GGML_OP_SSM_CONV:
23612365
ggml_cuda_op_ssm_conv(ctx, dst);
23622366
break;
@@ -3260,6 +3264,7 @@ static bool ggml_backend_cuda_device_supports_op(ggml_backend_dev_t dev, const g
32603264
case GGML_OP_POOL_2D:
32613265
case GGML_OP_SUM:
32623266
case GGML_OP_SUM_ROWS:
3267+
case GGML_OP_MEAN:
32633268
case GGML_OP_ARGSORT:
32643269
case GGML_OP_ACC:
32653270
return true;

tests/test-backend-ops.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4652,6 +4652,8 @@ static std::vector<std::unique_ptr<test_case>> make_test_cases_perf() {
46524652

46534653
test_cases.emplace_back(new test_conv_transpose_2d({256, 256, 256, 1}, {3, 3, 16, 256}, 1));
46544654

4655+
test_cases.emplace_back(new test_mean(GGML_TYPE_F32, {256, 256, 3, 1}));
4656+
46554657
return test_cases;
46564658
}
46574659

0 commit comments

Comments
 (0)