fixing test events (#1678)

This commit is contained in:
Banan-Askhar-Mobileye
2023-05-03 11:16:21 +03:00
committed by GitHub
parent ff1369d94e
commit caa656c268

View File

@@ -52,7 +52,7 @@ int test_event_enqueue_wait_for_events_run_test(
{ {
cl_int error = CL_SUCCESS; cl_int error = CL_SUCCESS;
size_t threads[3] = { TEST_SIZE, 0, 0 }; size_t threads[3] = { TEST_SIZE, 0, 0 };
int i, loop_count, event_count, expected_value, failed; int i, loop_count, expected_value, failed;
int expected_if_only_queue[2]; int expected_if_only_queue[2];
int max_count = TEST_SIZE; int max_count = TEST_SIZE;
@@ -65,8 +65,6 @@ int test_event_enqueue_wait_for_events_run_test(
clMemWrapper data; clMemWrapper data;
clProgramWrapper program; clProgramWrapper program;
clKernelWrapper kernel1[TEST_COUNT], kernel2[TEST_COUNT]; clKernelWrapper kernel1[TEST_COUNT], kernel2[TEST_COUNT];
clEventWrapper event[TEST_COUNT * 4 + 2]; // If we usemarkers we get 2 more
// events per iteration
if (test_enqueue_wait_for_events) if (test_enqueue_wait_for_events)
log_info("\tTesting with clEnqueueBarrierWithWaitList as barrier " log_info("\tTesting with clEnqueueBarrierWithWaitList as barrier "
@@ -249,11 +247,13 @@ int test_event_enqueue_wait_for_events_run_test(
else else
log_info("Queues chosen alternatily for each kernel execution.\n"); log_info("Queues chosen alternatily for each kernel execution.\n");
event_count = 0; clEventWrapper pre_loop_event;
clEventWrapper last_loop_event;
for (i = 0; i < (int)TEST_SIZE; i++) values[i] = 1; for (i = 0; i < (int)TEST_SIZE; i++) values[i] = 1;
error = clEnqueueWriteBuffer(queues[0], data, CL_FALSE, 0, error = clEnqueueWriteBuffer(queues[0], data, CL_FALSE, 0,
TEST_SIZE * sizeof(cl_int), values, 0, NULL, TEST_SIZE * sizeof(cl_int), values, 0, NULL,
&event[event_count]); &pre_loop_event);
test_error(error, "clEnqueueWriteBuffer 2 failed"); test_error(error, "clEnqueueWriteBuffer 2 failed");
expected_value = 1; expected_value = 1;
expected_if_only_queue[0] = 1; expected_if_only_queue[0] = 1;
@@ -263,7 +263,7 @@ int test_event_enqueue_wait_for_events_run_test(
if (test_enqueue_wait_for_events) if (test_enqueue_wait_for_events)
{ {
error = clEnqueueBarrierWithWaitList(queues[queue_to_use], 1, error = clEnqueueBarrierWithWaitList(queues[queue_to_use], 1,
&event[event_count], NULL); &pre_loop_event, NULL);
test_error(error, "Unable to queue wait for events"); test_error(error, "Unable to queue wait for events");
} }
else if (test_barrier) else if (test_barrier)
@@ -275,6 +275,13 @@ int test_event_enqueue_wait_for_events_run_test(
for (loop_count = 0; loop_count < TEST_COUNT; loop_count++) for (loop_count = 0; loop_count < TEST_COUNT; loop_count++)
{ {
int event_count = 0;
clEventWrapper first_dependency =
(loop_count == 0) ? pre_loop_event : last_loop_event;
clEventWrapper
event[5]; // A maximum of 5 events are created in the loop
event[event_count] = first_dependency;
// Execute kernel 1 // Execute kernel 1
event_count++; event_count++;
if (use_waitlist | use_marker) if (use_waitlist | use_marker)
@@ -424,6 +431,7 @@ int test_event_enqueue_wait_for_events_run_test(
NULL); NULL);
test_error(error, "Unable to queue barrier"); test_error(error, "Unable to queue barrier");
} }
last_loop_event = event[event_count];
} }
// Now finish up everything // Now finish up everything
@@ -435,7 +443,7 @@ int test_event_enqueue_wait_for_events_run_test(
error = clEnqueueReadBuffer(queues[0], data, CL_TRUE, 0, error = clEnqueueReadBuffer(queues[0], data, CL_TRUE, 0,
TEST_SIZE * sizeof(cl_int), values, 1, TEST_SIZE * sizeof(cl_int), values, 1,
&event[event_count], NULL); &last_loop_event, NULL);
test_error(error, "clEnqueueReadBuffer failed"); test_error(error, "clEnqueueReadBuffer failed");