Skip to content

Commit e149d02

Browse files
authored
[GPU][Coverity] Rework GetDivisor in permute kernel f y axes (#30433)
Fixes Coverity using invalid operator issue, simplifies code and improves performance ### Details: - Replace usage of std::find_if and std::vector with a simple for loop ### Tickets: - 167165
1 parent 75131db commit e149d02

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/plugins/intel_gpu/src/kernel_selector/kernels/permute/permute_kernel_f_y_axes.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ constexpr size_t cSimpleMemCopyOpDivider = 4UL;
1919
constexpr size_t c3DTransposeBufHeight = 4UL;
2020

2121
size_t GetDivisor(const size_t input_size) {
22-
std::vector<size_t> v = {/*32,*/ 16, 8, 4, 2, 1};
23-
auto is_divided = [input_size](size_t i) {
24-
return input_size % i == 0;
25-
};
26-
auto result = std::find_if(begin(v), end(v), is_divided);
27-
return *result;
22+
for (size_t d : {16, 8, 4, 2}) {
23+
if (input_size % d == 0)
24+
return d;
25+
}
26+
27+
return 1; // Fallback: Any integer divides evenly by 1
2828
}
2929

3030
bool IsSimpleMemCopyOperation(const permute_params& params) {

0 commit comments

Comments
 (0)