Skip to content

Commit 0e51a0a

Browse files
committed
opencl
1 parent 477a97a commit 0e51a0a

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5586,8 +5586,8 @@ static void ggml_cl_scale(ggml_backend_t backend, const ggml_tensor * src0, cons
55865586

55875587
ggml_backend_opencl_context *backend_ctx = (ggml_backend_opencl_context *)backend->context;
55885588

5589-
float scale;
5590-
memcpy(&scale, dst->op_params, sizeof(scale));
5589+
float scale = ((const float *)(dst->op_params))[0];
5590+
float bias = ((const float *)(dst->op_params))[1];
55915591

55925592
ggml_tensor_extra_cl * extra0 = (ggml_tensor_extra_cl *)src0->extra;
55935593
ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra;
@@ -5602,6 +5602,7 @@ static void ggml_cl_scale(ggml_backend_t backend, const ggml_tensor * src0, cons
56025602
CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extrad->data_device));
56035603
CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offsetd));
56045604
CL_CHECK(clSetKernelArg(kernel, 4, sizeof(float), &scale));
5605+
CL_CHECK(clSetKernelArg(kernel, 5, sizeof(float), &bias));
56055606

56065607
int n = ggml_nelements(dst)/4;
56075608

ggml/src/ggml-opencl/kernels/scale.cl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ kernel void kernel_scale(
88
ulong offset0,
99
global float4 * dst,
1010
ulong offsetd,
11-
float scale
11+
float scale,
12+
float bias
1213
) {
1314
src0 = (global float4*)((global char*)src0 + offset0);
1415
dst = (global float4*)((global char*)dst + offsetd);
15-
dst[get_global_id(0)] = src0[get_global_id(0)] * scale;
16+
dst[get_global_id(0)] = src0[get_global_id(0)] * scale + bias;
1617
}

0 commit comments

Comments
 (0)