mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Migrate half suite to the new test registration framework (#2329)
Contributes to #2181. Signed-off-by: Ahmed Hesham <ahmed.hesham@arm.com>
This commit is contained in:
@@ -22,7 +22,7 @@
|
|||||||
#include "tests.h"
|
#include "tests.h"
|
||||||
#include "harness/testHarness.h"
|
#include "harness/testHarness.h"
|
||||||
|
|
||||||
int test_roundTrip( cl_device_id device, cl_context context, cl_command_queue queue, int num_elements )
|
REGISTER_TEST(roundTrip)
|
||||||
{
|
{
|
||||||
int vectorSize, error;
|
int vectorSize, error;
|
||||||
uint64_t i, j;
|
uint64_t i, j;
|
||||||
@@ -400,5 +400,3 @@ exit:
|
|||||||
|
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -604,13 +604,6 @@ exit:
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vload_half( cl_device_id device, cl_context context, cl_command_queue queue, int num_elements )
|
REGISTER_TEST(vload_half) { return Test_vLoadHalf_private(device, false); }
|
||||||
{
|
|
||||||
return Test_vLoadHalf_private( device, false );
|
|
||||||
}
|
|
||||||
|
|
||||||
int test_vloada_half( cl_device_id device, cl_context context, cl_command_queue queue, int num_elements )
|
|
||||||
{
|
|
||||||
return Test_vLoadHalf_private( device, true );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
REGISTER_TEST(vloada_half) { return Test_vLoadHalf_private(device, true); }
|
||||||
|
|||||||
@@ -247,89 +247,79 @@ static cl_half double2half_rtn(double f)
|
|||||||
return cl_half_from_double(f, CL_HALF_RTN);
|
return cl_half_from_double(f, CL_HALF_RTN);
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstore_half(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstore_half)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
switch (get_default_rounding_mode(deviceID))
|
switch (get_default_rounding_mode(device))
|
||||||
{
|
{
|
||||||
case CL_FP_ROUND_TO_ZERO:
|
case CL_FP_ROUND_TO_ZERO:
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rtz,
|
return Test_vStoreHalf_private(device, float2half_rtz,
|
||||||
double2half_rte, "");
|
double2half_rte, "");
|
||||||
case 0: return -1;
|
case 0: return -1;
|
||||||
default:
|
default:
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rte,
|
return Test_vStoreHalf_private(device, float2half_rte,
|
||||||
double2half_rte, "");
|
double2half_rte, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstore_half_rte(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstore_half_rte)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rte, double2half_rte,
|
return Test_vStoreHalf_private(device, float2half_rte, double2half_rte,
|
||||||
"_rte");
|
"_rte");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstore_half_rtz(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstore_half_rtz)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rtz, double2half_rtz,
|
return Test_vStoreHalf_private(device, float2half_rtz, double2half_rtz,
|
||||||
"_rtz");
|
"_rtz");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstore_half_rtp(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstore_half_rtp)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rtp, double2half_rtp,
|
return Test_vStoreHalf_private(device, float2half_rtp, double2half_rtp,
|
||||||
"_rtp");
|
"_rtp");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstore_half_rtn(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstore_half_rtn)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreHalf_private(deviceID, float2half_rtn, double2half_rtn,
|
return Test_vStoreHalf_private(device, float2half_rtn, double2half_rtn,
|
||||||
"_rtn");
|
"_rtn");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstorea_half(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstorea_half)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
switch (get_default_rounding_mode(deviceID))
|
switch (get_default_rounding_mode(device))
|
||||||
{
|
{
|
||||||
case CL_FP_ROUND_TO_ZERO:
|
case CL_FP_ROUND_TO_ZERO:
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rtz,
|
return Test_vStoreaHalf_private(device, float2half_rtz,
|
||||||
double2half_rte, "");
|
double2half_rte, "");
|
||||||
case 0: return -1;
|
case 0: return -1;
|
||||||
default:
|
default:
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rte,
|
return Test_vStoreaHalf_private(device, float2half_rte,
|
||||||
double2half_rte, "");
|
double2half_rte, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstorea_half_rte(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstorea_half_rte)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rte, double2half_rte,
|
return Test_vStoreaHalf_private(device, float2half_rte, double2half_rte,
|
||||||
"_rte");
|
"_rte");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstorea_half_rtz(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstorea_half_rtz)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rtz, double2half_rtz,
|
return Test_vStoreaHalf_private(device, float2half_rtz, double2half_rtz,
|
||||||
"_rtz");
|
"_rtz");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstorea_half_rtp(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstorea_half_rtp)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rtp, double2half_rtp,
|
return Test_vStoreaHalf_private(device, float2half_rtp, double2half_rtp,
|
||||||
"_rtp");
|
"_rtp");
|
||||||
}
|
}
|
||||||
|
|
||||||
int test_vstorea_half_rtn(cl_device_id deviceID, cl_context context,
|
REGISTER_TEST(vstorea_half_rtn)
|
||||||
cl_command_queue queue, int num_elements)
|
|
||||||
{
|
{
|
||||||
return Test_vStoreaHalf_private(deviceID, float2half_rtn, double2half_rtn,
|
return Test_vStoreaHalf_private(device, float2half_rtn, double2half_rtn,
|
||||||
"_rtn");
|
"_rtn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,24 +53,6 @@ int g_arrVecSizes[kVectorSizeCount+kStrangeVectorSizeCount];
|
|||||||
int g_arrVecAligns[kLargestVectorSize+1];
|
int g_arrVecAligns[kLargestVectorSize+1];
|
||||||
static int arrStrangeVecSizes[kStrangeVectorSizeCount] = {3};
|
static int arrStrangeVecSizes[kStrangeVectorSizeCount] = {3};
|
||||||
|
|
||||||
test_definition test_list[] = {
|
|
||||||
ADD_TEST( vload_half ),
|
|
||||||
ADD_TEST( vloada_half ),
|
|
||||||
ADD_TEST( vstore_half ),
|
|
||||||
ADD_TEST( vstorea_half ),
|
|
||||||
ADD_TEST( vstore_half_rte ),
|
|
||||||
ADD_TEST( vstorea_half_rte ),
|
|
||||||
ADD_TEST( vstore_half_rtz ),
|
|
||||||
ADD_TEST( vstorea_half_rtz ),
|
|
||||||
ADD_TEST( vstore_half_rtp ),
|
|
||||||
ADD_TEST( vstorea_half_rtp ),
|
|
||||||
ADD_TEST( vstore_half_rtn ),
|
|
||||||
ADD_TEST( vstorea_half_rtn ),
|
|
||||||
ADD_TEST( roundTrip ),
|
|
||||||
};
|
|
||||||
|
|
||||||
const int test_num = ARRAY_SIZE( test_list );
|
|
||||||
|
|
||||||
int main (int argc, const char **argv )
|
int main (int argc, const char **argv )
|
||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
@@ -109,7 +91,9 @@ int main (int argc, const char **argv )
|
|||||||
}
|
}
|
||||||
|
|
||||||
fflush( stdout );
|
fflush( stdout );
|
||||||
error = runTestHarnessWithCheck( argCount, argList, test_num, test_list, true, 0, InitCL );
|
error = runTestHarnessWithCheck(
|
||||||
|
argCount, argList, test_registry::getInstance().num_tests(),
|
||||||
|
test_registry::getInstance().definitions(), true, 0, InitCL);
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
if(gQueue)
|
if(gQueue)
|
||||||
@@ -248,8 +232,8 @@ static void PrintUsage( void )
|
|||||||
"1-12, default factor(%u)\n",
|
"1-12, default factor(%u)\n",
|
||||||
gWimpyReductionFactor);
|
gWimpyReductionFactor);
|
||||||
vlog("\t\t-h\tHelp\n");
|
vlog("\t\t-h\tHelp\n");
|
||||||
for (int i = 0; i < test_num; i++)
|
for (size_t i = 0; i < test_registry::getInstance().num_tests(); i++)
|
||||||
{
|
{
|
||||||
vlog("\t\t%s\n", test_list[i].name );
|
vlog("\t\t%s\n", test_registry::getInstance().definitions()[i].name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user