Remove excessive logging in subgroup tests (#1343)

This also adds some missing data type logging to the
subgroup_functions_non_uniform_vote tests.

Signed-off-by: Stuart Brady <stuart.brady@arm.com>
This commit is contained in:
Stuart Brady
2021-11-08 11:00:50 +00:00
committed by GitHub
parent 410f46f49f
commit e9cd9a446e
3 changed files with 21 additions and 88 deletions

View File

@@ -80,7 +80,6 @@ template <typename Ty, SubgroupsBroadcastOp operation> struct BC
TypeManager<Ty>::name()); TypeManager<Ty>::name());
if (non_uniform_size) if (non_uniform_size)
{ {
log_info(" non uniform work group size mode ON\n");
ng++; ng++;
} }
for (k = 0; k < ng; ++k) for (k = 0; k < ng; ++k)
@@ -581,14 +580,6 @@ template <typename Ty, ArithmeticOp operation> struct SCEX_NU
: func_name = "sub_group_scan_exclusive"; : func_name = "sub_group_scan_exclusive";
log_info(" %s_%s(%s)...\n", func_name.c_str(), log_info(" %s_%s(%s)...\n", func_name.c_str(),
operation_names(operation), TypeManager<Ty>::name()); operation_names(operation), TypeManager<Ty>::name());
log_info(" test params: global size = %d local size = %d subgroups "
"size = %d \n",
test_params.global_workgroup_size, nw, ns);
if (test_params.work_items_mask.any())
{
log_info(" work items mask: %s\n",
test_params.work_items_mask.to_string().c_str());
}
genrand<Ty, operation>(x, t, m, ns, nw, ng); genrand<Ty, operation>(x, t, m, ns, nw, ng);
} }
@@ -637,16 +628,10 @@ template <typename Ty, ArithmeticOp operation> struct SCEX_NU
} }
if (active_work_items.empty()) if (active_work_items.empty())
{ {
log_info(" No acitve workitems in workgroup id = %d "
"subgroup id = %d - no calculation\n",
k, j);
continue; continue;
} }
else if (active_work_items.size() == 1) else if (active_work_items.size() == 1)
{ {
log_info(" One active workitem in workgroup id = %d "
"subgroup id = %d - no calculation\n",
k, j);
continue; continue;
} }
else else
@@ -702,14 +687,6 @@ template <typename Ty, ArithmeticOp operation> struct SCIN_NU
genrand<Ty, operation>(x, t, m, ns, nw, ng); genrand<Ty, operation>(x, t, m, ns, nw, ng);
log_info(" %s_%s(%s)...\n", func_name.c_str(), log_info(" %s_%s(%s)...\n", func_name.c_str(),
operation_names(operation), TypeManager<Ty>::name()); operation_names(operation), TypeManager<Ty>::name());
log_info(" test params: global size = %d local size = %d subgroups "
"size = %d \n",
test_params.global_workgroup_size, nw, ns);
if (test_params.work_items_mask.any())
{
log_info(" work items mask: %s\n",
test_params.work_items_mask.to_string().c_str());
}
} }
static int chk(Ty *x, Ty *y, Ty *mx, Ty *my, cl_int *m, static int chk(Ty *x, Ty *y, Ty *mx, Ty *my, cl_int *m,
@@ -765,9 +742,6 @@ template <typename Ty, ArithmeticOp operation> struct SCIN_NU
} }
if (active_work_items.empty()) if (active_work_items.empty())
{ {
log_info(" No acitve workitems in workgroup id = %d "
"subgroup id = %d - no calculation\n",
k, j);
continue; continue;
} }
else else
@@ -828,14 +802,6 @@ template <typename Ty, ArithmeticOp operation> struct RED_NU
: func_name = "sub_group_reduce"; : func_name = "sub_group_reduce";
log_info(" %s_%s(%s)...\n", func_name.c_str(), log_info(" %s_%s(%s)...\n", func_name.c_str(),
operation_names(operation), TypeManager<Ty>::name()); operation_names(operation), TypeManager<Ty>::name());
log_info(" test params: global size = %d local size = %d subgroups "
"size = %d \n",
test_params.global_workgroup_size, nw, ns);
if (test_params.work_items_mask.any())
{
log_info(" work items mask: %s\n",
test_params.work_items_mask.to_string().c_str());
}
genrand<Ty, operation>(x, t, m, ns, nw, ng); genrand<Ty, operation>(x, t, m, ns, nw, ng);
} }
@@ -894,9 +860,6 @@ template <typename Ty, ArithmeticOp operation> struct RED_NU
if (active_work_items.empty()) if (active_work_items.empty())
{ {
log_info(" No acitve workitems in workgroup id = %d "
"subgroup id = %d - no calculation\n",
k, j);
continue; continue;
} }

View File

@@ -31,10 +31,6 @@ template <typename Ty> struct BALLOT
int sbs = test_params.subgroup_size; int sbs = test_params.subgroup_size;
int non_uniform_size = gws % lws; int non_uniform_size = gws % lws;
log_info(" sub_group_ballot...\n"); log_info(" sub_group_ballot...\n");
if (non_uniform_size)
{
log_info(" non uniform work group size mode ON\n");
}
} }
static int chk(Ty *x, Ty *y, Ty *mx, Ty *my, cl_int *m, static int chk(Ty *x, Ty *y, Ty *mx, Ty *my, cl_int *m,
@@ -117,11 +113,6 @@ template <typename Ty, BallotOp operation> struct BALLOT_BIT_EXTRACT
log_info(" sub_group_%s(%s)...\n", operation_names(operation), log_info(" sub_group_%s(%s)...\n", operation_names(operation),
TypeManager<Ty>::name()); TypeManager<Ty>::name());
if (non_uniform_size)
{
log_info(" non uniform work group size mode ON\n");
}
for (wg_id = 0; wg_id < wg_number; ++wg_id) for (wg_id = 0; wg_id < wg_number; ++wg_id)
{ // for each work_group { // for each work_group
for (sb_id = 0; sb_id < sb_number; ++sb_id) for (sb_id = 0; sb_id < sb_number; ++sb_id)
@@ -275,10 +266,6 @@ template <typename Ty, BallotOp operation> struct BALLOT_INVERSE
int sbs = test_params.subgroup_size; int sbs = test_params.subgroup_size;
int non_uniform_size = gws % lws; int non_uniform_size = gws % lws;
log_info(" sub_group_inverse_ballot...\n"); log_info(" sub_group_inverse_ballot...\n");
if (non_uniform_size)
{
log_info(" non uniform work group size mode ON\n");
}
// no work here // no work here
} }
@@ -379,7 +366,6 @@ template <typename Ty, BallotOp operation> struct BALLOT_COUNT_SCAN_FIND
TypeManager<Ty>::name()); TypeManager<Ty>::name());
if (non_uniform_size) if (non_uniform_size)
{ {
log_info(" non uniform work group size mode ON\n");
wg_number++; wg_number++;
} }
int e; int e;

View File

@@ -34,20 +34,10 @@ template <typename T, NonUniformVoteOp operation> struct VOTE
int last_subgroup_size = 0; int last_subgroup_size = 0;
ii = 0; ii = 0;
log_info(" sub_group_%s%s... \n", log_info(" sub_group_%s%s(%s)... \n",
(operation == NonUniformVoteOp::elect) ? "" : "non_uniform_", (operation == NonUniformVoteOp::elect) ? "" : "non_uniform_",
operation_names(operation)); operation_names(operation), TypeManager<T>::name());
log_info(" test params: global size = %d local size = %d subgroups "
"size = %d data type (%s)\n",
test_params.global_workgroup_size, nw, ns,
TypeManager<T>::name());
log_info(" work items mask: %s\n",
test_params.work_items_mask.to_string().c_str());
if (non_uniform_size)
{
log_info(" non uniform work group size mode ON\n");
}
if (operation == NonUniformVoteOp::elect) return; if (operation == NonUniformVoteOp::elect) return;
for (k = 0; k < ng; ++k) for (k = 0; k < ng; ++k)
@@ -171,34 +161,28 @@ template <typename T, NonUniformVoteOp operation> struct VOTE
} }
if (active_work_items.empty()) if (active_work_items.empty())
{ {
log_info(" no one workitem acitve... in workgroup id = %d " continue;
"subgroup id = %d\n",
k, j);
} }
else auto lowest_active = active_work_items.begin();
for (const int &active_work_item : active_work_items)
{ {
auto lowest_active = active_work_items.begin(); i = active_work_item;
for (const int &active_work_item : active_work_items) if (operation == NonUniformVoteOp::elect)
{ {
i = active_work_item; i == *lowest_active ? tr = 1 : tr = 0;
if (operation == NonUniformVoteOp::elect) }
{
i == *lowest_active ? tr = 1 : tr = 0;
}
// normalize device values on host, non zero set 1. // normalize device values on host, non zero set 1.
rr = compare_ordered<T>(my[ii + i], 0) ? 0 : 1; rr = compare_ordered<T>(my[ii + i], 0) ? 0 : 1;
if (rr != tr) if (rr != tr)
{ {
log_error("ERROR: sub_group_%s() \n", log_error("ERROR: sub_group_%s() \n",
operation_names(operation)); operation_names(operation));
log_error( log_error("mismatch for work item %d sub group %d in "
"mismatch for work item %d sub group %d in " "work group %d. Expected: %d Obtained: %d\n",
"work group %d. Expected: %d Obtained: %d\n", i, j, k, tr, rr);
i, j, k, tr, rr); return TEST_FAIL;
return TEST_FAIL;
}
} }
} }
} }
@@ -208,9 +192,9 @@ template <typename T, NonUniformVoteOp operation> struct VOTE
m += 4 * nw; m += 4 * nw;
} }
log_info(" sub_group_%s%s... passed\n", log_info(" sub_group_%s%s(%s)... passed\n",
(operation == NonUniformVoteOp::elect) ? "" : "non_uniform_", (operation == NonUniformVoteOp::elect) ? "" : "non_uniform_",
operation_names(operation)); operation_names(operation), TypeManager<T>::name());
return TEST_PASS; return TEST_PASS;
} }
}; };