Fix for out of bounds access (#2105)

Rounding up the clusters_results size to avoid out of bounds access when
subgroup_size is not a multiple of cluster_size.
This commit is contained in:
tomasz-platek
2024-10-29 17:39:42 +01:00
committed by GitHub
parent dd2454685b
commit 66fd9e4742

View File

@@ -103,7 +103,8 @@ template <typename Ty, ArithmeticOp operation> struct RED_CLU
int ii = j * ns; int ii = j * ns;
int n = ii + ns > nw ? nw - ii : ns; int n = ii + ns > nw ? nw - ii : ns;
std::vector<Ty> clusters_results; std::vector<Ty> clusters_results;
int clusters_counter = ns / test_params.cluster_size; int clusters_counter = (ns + test_params.cluster_size - 1)
/ test_params.cluster_size;
clusters_results.resize(clusters_counter); clusters_results.resize(clusters_counter);
// Compute target // Compute target