Skip to content

Commit 55aefe5

Browse files
authored
[GPU] INPUT/OUTPUT_LENGTH support shape agnostic kernel (#33434)
- code clean-up - INPUT/OUTPUT_LENGTH in JIT is 0 at the shape agnostic kernel. ### Tickets: - N/A
1 parent 6642033 commit 55aefe5

File tree

6 files changed

+9
-35
lines changed

6 files changed

+9
-35
lines changed

src/plugins/intel_gpu/src/kernel_selector/cl_kernels/random_uniform_ref.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ KERNEL(random_uniform_ref)(OPTIONAL_SHAPE_INFO_ARG
132132
const __global INPUT2_TYPE* max_val, __global OUTPUT_TYPE *output) {
133133
const uint plain_index = get_global_id(0);
134134
uint4 result = FUNC_CALL(run_philox)(plain_index);
135-
FILL_FUNC(FUNC_NAME(OUTPUT_TYPE), result, *min_val, *max_val, output, plain_index * OUTPUT_STEP, COMPUTATIONAL_OPERATIONS_NUMBER);
135+
FILL_FUNC(FUNC_NAME(OUTPUT_TYPE), result, *min_val, *max_val, output, plain_index * OUTPUT_STEP, OUTPUT_LENGTH);
136136
}
137137

138138
#undef FILL_FUNC

src/plugins/intel_gpu/src/kernel_selector/cl_kernels/reduce_gpu_b_fs_yx_fsv16.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ KERNEL(reduce_fsv16)(
190190
#endif
191191

192192
const uint linear_idx = FUNC_CALL(calc_linear_offset)(b, f, y, x);
193-
if (linear_idx >= COMPUTATIONAL_OPERATIONS_NUMBER)
193+
if (linear_idx >= OUTPUT_LENGTH)
194194
return;
195195

196196
const uint input_x_pitch = FSV;

src/plugins/intel_gpu/src/kernel_selector/cl_kernels/reduce_ref.cl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ KERNEL(reduce_ref)(
7575
#endif
7676

7777
const uint linear_idx = FUNC_CALL(calc_linear_offset)(OPTIONAL_SHAPE_INFO_TENSOR b, f, v, u, w, z, y, x);
78-
if (linear_idx >= COMPUTATIONAL_OPERATIONS_NUMBER)
78+
if (linear_idx >= OUTPUT_LENGTH)
7979
return;
8080

8181
#ifdef REDUCE_BATCH

src/plugins/intel_gpu/src/kernel_selector/jitter.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@ class TensorBaseTJitConstant : public JitConstant {
259259
JitDefinitions GetDefinitions(const Tensor::TensorBaseT<DType, Layout>& t) const {
260260
JitDefinitions definitions{
261261
{_name + "_VIEW_OFFSET", toCodeString(t.GetViewOffset())},
262-
{_name + "_LENGTH", toCodeString(t.LogicalSize())},
263262
{_name + "_DIMS", toCodeString(t.GetDims().size())},
264263
{_name + "_SIMPLE", toCodeString(t.SimpleLayout())},
265264
{_name + "_GROUPED", toCodeString(t.GroupedLayout())},
@@ -363,6 +362,9 @@ JitDefinitions DataTensorJitConstant::GetDefinitions() const {
363362
{_name + "_PAD_AFTER_BATCH_NUM", dims_padded.b_pad().second},
364363
};
365364
if (_tensor.is_dynamic()) {
365+
const std::string total_data_size = toVectorMulString({dims.x(), dims.y(), dims.z(), dims.w(), dims.f(), dims.b()});
366+
definitions.push_back({_name + "_LENGTH", toCodeString(total_data_size)});
367+
366368
if (_tensor.GetLayout() == DataLayout::bf || _tensor.GetLayout() == DataLayout::bfyx ||
367369
_tensor.GetLayout() == DataLayout::bfzyx || _tensor.GetLayout() == DataLayout::bfwzyx ||
368370
_tensor.GetLayout() == DataLayout::bfuwzyx || _tensor.GetLayout() == DataLayout::bfvuwzyx ||
@@ -394,6 +396,8 @@ JitDefinitions DataTensorJitConstant::GetDefinitions() const {
394396
OPENVINO_ASSERT(false, "[GPU] Jitter couldn't generate dynamic pitches for given layout");
395397
}
396398
} else {
399+
definitions.push_back({_name + "_LENGTH", toCodeString(_tensor.LogicalSize())});
400+
397401
// static dim
398402
definitions.push_back({_name + "_X_PITCH", toCodeString(_tensor.X().pitch)});
399403
definitions.push_back({_name + "_Y_PITCH", toCodeString(_tensor.Y().pitch)});
@@ -938,6 +942,7 @@ JitDefinitions WeightTensorJitConstant::GetDefinitions() const {
938942
{_name + "_IFM_PITCH", toCodeString(_tensor.IFM().pitch)},
939943
{_name + "_OFM_PITCH", toCodeString(_tensor.OFM().pitch)},
940944
{_name + "_GROUPS_PITCH", toCodeString(_tensor.G().pitch)},
945+
{_name + "_LENGTH", toCodeString(_tensor.LogicalSize())},
941946
};
942947

943948
definitions.insert(definitions.end(), baseDefinitions.begin(), baseDefinitions.end());

src/plugins/intel_gpu/src/kernel_selector/kernels/random_uniform/random_uniform_kernel_ref.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,6 @@ JitConstants RandomUniformKernelRef::GetJitConstants(const random_uniform_params
4040
jit.AddConstant(MakeJitConstant("GLOBAL_SEED", params.global_seed));
4141
}
4242

43-
const auto& output = params.outputs[0];
44-
if (output.is_dynamic()) {
45-
DimensionAccessHelperJit dims(output);
46-
jit.AddConstant(MakeJitConstant("COMPUTATIONAL_OPERATIONS_NUMBER", toVectorMulString({dims.x(),
47-
dims.y(),
48-
dims.z(),
49-
dims.w(),
50-
dims.u(),
51-
dims.v(),
52-
dims.f(),
53-
dims.b()})));
54-
} else {
55-
jit.AddConstant(MakeJitConstant("COMPUTATIONAL_OPERATIONS_NUMBER", params.outputs[0].LogicalSize()));
56-
}
57-
5843
jit.AddConstant(MakeJitConstant("OP_SEED", params.op_seed));
5944
jit.AddConstant(MakeJitConstant("OUTPUT_STEP", getStep(params)));
6045
return jit;

src/plugins/intel_gpu/src/kernel_selector/kernels/reduce/reduce_kernel_base.cpp

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,6 @@ bool ReduceKernelBase::Validate(const Params& p) const {
2727

2828
JitConstants ReduceKernelBase::GetJitConstants(const reduce_params& params) const {
2929
JitConstants jit = MakeBaseParamsJitConstants(params);
30-
31-
const auto& output = params.outputs[0];
32-
if (output.is_dynamic()) {
33-
DimensionAccessHelperJit dims(output);
34-
jit.AddConstant(MakeJitConstant("COMPUTATIONAL_OPERATIONS_NUMBER", toVectorMulString({dims.x(),
35-
dims.y(),
36-
dims.z(),
37-
dims.w(),
38-
dims.u(),
39-
dims.v(),
40-
dims.f(),
41-
dims.b()})));
42-
} else {
43-
jit.AddConstant(MakeJitConstant("COMPUTATIONAL_OPERATIONS_NUMBER", params.outputs[0].LogicalSize()));
44-
}
45-
4630
jit.AddConstant(MakeJitConstant("REDUCE_" + toString(params.reduceMode) + "_MODE", 1));
4731
jit.AddConstant(MakeJitConstant("KEEP_DIMS", params.keepDims));
4832

0 commit comments

Comments
 (0)