mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-21 14:59:02 +00:00
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 <marco.antognini@arm.com> Signed-off-by: Sven van Haastregt <sven.vanhaastregt@arm.com>
This commit is contained in:
committed by
GitHub
parent
c44b5b6ae3
commit
c12bff46c6
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -28,14 +28,21 @@ using KernelMatrix = std::array<std::vector<cl_kernel>, VECTOR_SIZE_COUNT>;
|
||||
// Array of programs for each vector size.
|
||||
using Programs = std::array<clProgramWrapper, VECTOR_SIZE_COUNT>;
|
||||
|
||||
// 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 */
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -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)))
|
||||
|
||||
Reference in New Issue
Block a user