From c12bff46c605b9326908c9aaf4e50a5e6e81d166 Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Thu, 4 Aug 2022 15:03:52 +0100 Subject: [PATCH] Tidy up BuildKernelInfo (#1461) Remove the `offset` field from both structures, because it was always set to the global `gMinVectorSizeIndex`. Improve documentation and rename some variables: - `i` becomes `vectorSize`; - `kernel_count` becomes `threadCount`. Original patch by Marco Antognini. Signed-off-by: Marco Antognini Signed-off-by: Sven van Haastregt --- .../math_brute_force/binary_double.cpp | 15 +++++++-------- .../math_brute_force/binary_float.cpp | 15 +++++++-------- .../math_brute_force/binary_i_double.cpp | 15 +++++++-------- .../math_brute_force/binary_i_float.cpp | 15 +++++++-------- .../math_brute_force/binary_operator_double.cpp | 15 +++++++-------- .../math_brute_force/binary_operator_float.cpp | 15 +++++++-------- .../binary_two_results_i_double.cpp | 11 +++++------ .../binary_two_results_i_float.cpp | 11 +++++------ test_conformance/math_brute_force/common.h | 13 ++++++++++--- .../math_brute_force/i_unary_double.cpp | 11 +++++------ .../math_brute_force/i_unary_float.cpp | 11 +++++------ .../math_brute_force/macro_binary_double.cpp | 15 +++++++-------- .../math_brute_force/macro_binary_float.cpp | 15 +++++++-------- .../math_brute_force/macro_unary_double.cpp | 15 +++++++-------- .../math_brute_force/macro_unary_float.cpp | 15 +++++++-------- test_conformance/math_brute_force/mad_double.cpp | 11 +++++------ test_conformance/math_brute_force/mad_float.cpp | 11 +++++------ .../math_brute_force/ternary_double.cpp | 11 +++++------ .../math_brute_force/ternary_float.cpp | 11 +++++------ .../math_brute_force/unary_double.cpp | 15 +++++++-------- test_conformance/math_brute_force/unary_float.cpp | 15 +++++++-------- .../math_brute_force/unary_two_results_double.cpp | 11 +++++------ .../math_brute_force/unary_two_results_float.cpp | 11 +++++------ .../unary_two_results_i_double.cpp | 11 +++++------ .../unary_two_results_i_float.cpp | 11 +++++------ .../math_brute_force/unary_u_double.cpp | 11 +++++------ .../math_brute_force/unary_u_float.cpp | 11 +++++------ 27 files changed, 164 insertions(+), 183 deletions(-) diff --git a/test_conformance/math_brute_force/binary_double.cpp b/test_conformance/math_brute_force/binary_double.cpp index 3eb7dccc..034b325a 100644 --- a/test_conformance/math_brute_force/binary_double.cpp +++ b/test_conformance/math_brute_force/binary_double.cpp @@ -115,10 +115,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -741,10 +741,9 @@ int TestFunc_Double_Double_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_float.cpp b/test_conformance/math_brute_force/binary_float.cpp index db4604a3..7abaa0e4 100644 --- a/test_conformance/math_brute_force/binary_float.cpp +++ b/test_conformance/math_brute_force/binary_float.cpp @@ -113,10 +113,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -898,10 +898,9 @@ int TestFunc_Float_Float_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_i_double.cpp b/test_conformance/math_brute_force/binary_i_double.cpp index 37e27ac0..bba93617 100644 --- a/test_conformance/math_brute_force/binary_i_double.cpp +++ b/test_conformance/math_brute_force/binary_i_double.cpp @@ -114,10 +114,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -663,10 +663,9 @@ int TestFunc_Double_Double_Int(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_i_float.cpp b/test_conformance/math_brute_force/binary_i_float.cpp index 539e10d0..4821830c 100644 --- a/test_conformance/math_brute_force/binary_i_float.cpp +++ b/test_conformance/math_brute_force/binary_i_float.cpp @@ -112,10 +112,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -656,10 +656,9 @@ int TestFunc_Float_Float_Int(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_operator_double.cpp b/test_conformance/math_brute_force/binary_operator_double.cpp index 7c0766be..09c560e9 100644 --- a/test_conformance/math_brute_force/binary_operator_double.cpp +++ b/test_conformance/math_brute_force/binary_operator_double.cpp @@ -114,10 +114,10 @@ int BuildKernel(const char *operator_symbol, int vectorSize, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -708,10 +708,9 @@ int TestFunc_Double_Double_Double_Operator(const Func *f, MTdata d, // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_operator_float.cpp b/test_conformance/math_brute_force/binary_operator_float.cpp index fe2db19e..f2e57bc1 100644 --- a/test_conformance/math_brute_force/binary_operator_float.cpp +++ b/test_conformance/math_brute_force/binary_operator_float.cpp @@ -112,10 +112,10 @@ int BuildKernel(const char *operator_symbol, int vectorSize, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -835,10 +835,9 @@ int TestFunc_Float_Float_Float_Operator(const Func *f, MTdata d, // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_two_results_i_double.cpp b/test_conformance/math_brute_force/binary_two_results_i_double.cpp index 9c98ebb7..59a5bfe2 100644 --- a/test_conformance/math_brute_force/binary_two_results_i_double.cpp +++ b/test_conformance/math_brute_force/binary_two_results_i_double.cpp @@ -120,7 +120,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -130,9 +129,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } struct ComputeReferenceInfoD @@ -192,8 +191,8 @@ int TestFunc_DoubleI_Double_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/binary_two_results_i_float.cpp b/test_conformance/math_brute_force/binary_two_results_i_float.cpp index 354148ea..6c1dd3bc 100644 --- a/test_conformance/math_brute_force/binary_two_results_i_float.cpp +++ b/test_conformance/math_brute_force/binary_two_results_i_float.cpp @@ -118,7 +118,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -128,9 +127,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } struct ComputeReferenceInfoF @@ -193,8 +192,8 @@ int TestFunc_FloatI_Float_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/common.h b/test_conformance/math_brute_force/common.h index 7c296952..f0d18dd9 100644 --- a/test_conformance/math_brute_force/common.h +++ b/test_conformance/math_brute_force/common.h @@ -28,14 +28,21 @@ using KernelMatrix = std::array, VECTOR_SIZE_COUNT>; // Array of programs for each vector size. using Programs = std::array; +// Information to generate OpenCL kernels. struct BuildKernelInfo { - cl_uint offset; // the first vector size to build - cl_uint kernel_count; + // Number of kernels to build, one for each thread to avoid data races. + cl_uint threadCount; + KernelMatrix &kernels; + Programs &programs; + + // Function, macro or symbol tested by the kernel. const char *nameInCode; - bool relaxedMode; // Whether to build with -cl-fast-relaxed-math. + + // Whether to build with -cl-fast-relaxed-math. + bool relaxedMode; }; #endif /* COMMON_H */ diff --git a/test_conformance/math_brute_force/i_unary_double.cpp b/test_conformance/math_brute_force/i_unary_double.cpp index f52a1292..a05737da 100644 --- a/test_conformance/math_brute_force/i_unary_double.cpp +++ b/test_conformance/math_brute_force/i_unary_double.cpp @@ -105,7 +105,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -115,9 +114,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -143,8 +142,8 @@ int TestFunc_Int_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/i_unary_float.cpp b/test_conformance/math_brute_force/i_unary_float.cpp index 633584a7..13442e61 100644 --- a/test_conformance/math_brute_force/i_unary_float.cpp +++ b/test_conformance/math_brute_force/i_unary_float.cpp @@ -103,7 +103,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -113,9 +112,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -140,8 +139,8 @@ int TestFunc_Int_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/macro_binary_double.cpp b/test_conformance/math_brute_force/macro_binary_double.cpp index 624eaebb..88b0f86c 100644 --- a/test_conformance/math_brute_force/macro_binary_double.cpp +++ b/test_conformance/math_brute_force/macro_binary_double.cpp @@ -113,10 +113,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -666,10 +666,9 @@ int TestMacro_Int_Double_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/macro_binary_float.cpp b/test_conformance/math_brute_force/macro_binary_float.cpp index 04f759cf..6199dd1a 100644 --- a/test_conformance/math_brute_force/macro_binary_float.cpp +++ b/test_conformance/math_brute_force/macro_binary_float.cpp @@ -111,10 +111,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -655,10 +655,9 @@ int TestMacro_Int_Float_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/macro_unary_double.cpp b/test_conformance/math_brute_force/macro_unary_double.cpp index d0786d1b..b7fb8a96 100644 --- a/test_conformance/math_brute_force/macro_unary_double.cpp +++ b/test_conformance/math_brute_force/macro_unary_double.cpp @@ -107,10 +107,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -439,10 +439,9 @@ int TestMacro_Int_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/macro_unary_float.cpp b/test_conformance/math_brute_force/macro_unary_float.cpp index b03a6003..e4c22369 100644 --- a/test_conformance/math_brute_force/macro_unary_float.cpp +++ b/test_conformance/math_brute_force/macro_unary_float.cpp @@ -106,10 +106,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -453,10 +453,9 @@ int TestMacro_Int_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/mad_double.cpp b/test_conformance/math_brute_force/mad_double.cpp index e5ab68f6..3def6a80 100644 --- a/test_conformance/math_brute_force/mad_double.cpp +++ b/test_conformance/math_brute_force/mad_double.cpp @@ -118,7 +118,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -128,9 +127,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -150,8 +149,8 @@ int TestFunc_mad_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/mad_float.cpp b/test_conformance/math_brute_force/mad_float.cpp index 6760ce99..498f25eb 100644 --- a/test_conformance/math_brute_force/mad_float.cpp +++ b/test_conformance/math_brute_force/mad_float.cpp @@ -116,7 +116,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -126,9 +125,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -149,8 +148,8 @@ int TestFunc_mad_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/ternary_double.cpp b/test_conformance/math_brute_force/ternary_double.cpp index 0639b27a..94fbe268 100644 --- a/test_conformance/math_brute_force/ternary_double.cpp +++ b/test_conformance/math_brute_force/ternary_double.cpp @@ -121,7 +121,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -131,9 +130,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } // A table of more difficult cases to get right @@ -229,8 +228,8 @@ int TestFunc_Double_Double_Double_Double(const Func *f, MTdata d, // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/ternary_float.cpp b/test_conformance/math_brute_force/ternary_float.cpp index 6f19ef7a..762c57de 100644 --- a/test_conformance/math_brute_force/ternary_float.cpp +++ b/test_conformance/math_brute_force/ternary_float.cpp @@ -119,7 +119,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -129,9 +128,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } // A table of more difficult cases to get right @@ -245,8 +244,8 @@ int TestFunc_Float_Float_Float_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_double.cpp b/test_conformance/math_brute_force/unary_double.cpp index 2043e5a0..76bcfd46 100644 --- a/test_conformance/math_brute_force/unary_double.cpp +++ b/test_conformance/math_brute_force/unary_double.cpp @@ -107,10 +107,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -465,10 +465,9 @@ int TestFunc_Double_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_float.cpp b/test_conformance/math_brute_force/unary_float.cpp index b3b8056b..d310054d 100644 --- a/test_conformance/math_brute_force/unary_float.cpp +++ b/test_conformance/math_brute_force/unary_float.cpp @@ -105,10 +105,10 @@ int BuildKernel(const char *name, int vectorSize, cl_uint kernel_count, cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo *info = (BuildKernelInfo *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernel_count, - info->kernels[i].data(), &(info->programs[i]), - info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->threadCount, + info->kernels[vectorSize].data(), + &(info->programs[vectorSize]), info->relaxedMode); } // Thread specific data for a worker thread @@ -636,10 +636,9 @@ int TestFunc_Float_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo build_info = { - gMinVectorSizeIndex, test_info.threadCount, test_info.k, - test_info.programs, f->nameInCode, relaxedMode - }; + BuildKernelInfo build_info{ test_info.threadCount, test_info.k, + test_info.programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_two_results_double.cpp b/test_conformance/math_brute_force/unary_two_results_double.cpp index cf1d3e93..858b2c35 100644 --- a/test_conformance/math_brute_force/unary_two_results_double.cpp +++ b/test_conformance/math_brute_force/unary_two_results_double.cpp @@ -112,7 +112,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -122,9 +121,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -149,8 +148,8 @@ int TestFunc_Double2_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_two_results_float.cpp b/test_conformance/math_brute_force/unary_two_results_float.cpp index 051aca51..85e5d014 100644 --- a/test_conformance/math_brute_force/unary_two_results_float.cpp +++ b/test_conformance/math_brute_force/unary_two_results_float.cpp @@ -110,7 +110,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -120,9 +119,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -148,8 +147,8 @@ int TestFunc_Float2_Float(const Func *f, MTdata d, bool relaxedMode) float float_ulps = getAllowedUlpError(f, relaxedMode); // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_two_results_i_double.cpp b/test_conformance/math_brute_force/unary_two_results_i_double.cpp index d45ad59d..4cfbca9c 100644 --- a/test_conformance/math_brute_force/unary_two_results_i_double.cpp +++ b/test_conformance/math_brute_force/unary_two_results_i_double.cpp @@ -113,7 +113,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -123,9 +122,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } cl_ulong abs_cl_long(cl_long i) @@ -157,8 +156,8 @@ int TestFunc_DoubleI_Double(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_two_results_i_float.cpp b/test_conformance/math_brute_force/unary_two_results_i_float.cpp index 9efe861a..e324ad09 100644 --- a/test_conformance/math_brute_force/unary_two_results_i_float.cpp +++ b/test_conformance/math_brute_force/unary_two_results_i_float.cpp @@ -111,7 +111,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -121,9 +120,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } cl_ulong abs_cl_long(cl_long i) @@ -160,8 +159,8 @@ int TestFunc_FloatI_Float(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_u_double.cpp b/test_conformance/math_brute_force/unary_u_double.cpp index e81ddada..a0c6b793 100644 --- a/test_conformance/math_brute_force/unary_u_double.cpp +++ b/test_conformance/math_brute_force/unary_u_double.cpp @@ -107,7 +107,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -117,9 +116,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } cl_ulong random64(MTdata d) @@ -145,8 +144,8 @@ int TestFunc_Double_ULong(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info))) diff --git a/test_conformance/math_brute_force/unary_u_float.cpp b/test_conformance/math_brute_force/unary_u_float.cpp index bfbf2cf8..ccfbc3be 100644 --- a/test_conformance/math_brute_force/unary_u_float.cpp +++ b/test_conformance/math_brute_force/unary_u_float.cpp @@ -104,7 +104,6 @@ int BuildKernel(const char *name, int vectorSize, cl_kernel *k, cl_program *p, struct BuildKernelInfo2 { - cl_uint offset; // the first vector size to build cl_kernel *kernels; Programs &programs; const char *nameInCode; @@ -114,9 +113,9 @@ struct BuildKernelInfo2 cl_int BuildKernelFn(cl_uint job_id, cl_uint thread_id UNUSED, void *p) { BuildKernelInfo2 *info = (BuildKernelInfo2 *)p; - cl_uint i = info->offset + job_id; - return BuildKernel(info->nameInCode, i, info->kernels + i, - &(info->programs[i]), info->relaxedMode); + cl_uint vectorSize = gMinVectorSizeIndex + job_id; + return BuildKernel(info->nameInCode, vectorSize, info->kernels + vectorSize, + &(info->programs[vectorSize]), info->relaxedMode); } } // anonymous namespace @@ -142,8 +141,8 @@ int TestFunc_Float_UInt(const Func *f, MTdata d, bool relaxedMode) // Init the kernels { - BuildKernelInfo2 build_info = { gMinVectorSizeIndex, kernels, programs, - f->nameInCode, relaxedMode }; + BuildKernelInfo2 build_info{ kernels, programs, f->nameInCode, + relaxedMode }; if ((error = ThreadPool_Do(BuildKernelFn, gMaxVectorSizeIndex - gMinVectorSizeIndex, &build_info)))