Skip to content

Commit 72d8641

Browse files
authored
Merge pull request #2641 from igchor/add_test_mecpy
[CTS] add simple test that combines kernel launch and memcpy
2 parents 47d5c43 + 63719ae commit 72d8641

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

test/conformance/enqueue/urEnqueueKernelLaunch.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,41 @@ TEST_P(urEnqueueKernelLaunchWithUSM, Success) {
379379
}
380380
}
381381

382+
TEST_P(urEnqueueKernelLaunchWithUSM, WithMemcpy) {
383+
UUR_KNOWN_FAILURE_ON(uur::LevelZeroV2{});
384+
385+
size_t work_dim = 1;
386+
size_t global_offset = 0;
387+
size_t global_size = alloc_size / sizeof(uint32_t);
388+
uint32_t fill_val = 42;
389+
390+
ASSERT_SUCCESS(urKernelSetArgPointer(kernel, 0, nullptr, usmPtr));
391+
ASSERT_SUCCESS(
392+
urKernelSetArgValue(kernel, 1, sizeof(fill_val), nullptr, &fill_val));
393+
394+
std::vector<uint32_t> input(global_size, 0);
395+
std::vector<uint32_t> data(global_size);
396+
397+
ASSERT_SUCCESS(urEnqueueUSMMemcpy(queue, false, usmPtr, input.data(),
398+
alloc_size, 0, nullptr, nullptr));
399+
400+
ur_event_handle_t kernel_evt;
401+
ASSERT_SUCCESS(urEnqueueKernelLaunch(queue, kernel, work_dim, &global_offset,
402+
&global_size, nullptr, 0, nullptr,
403+
&kernel_evt));
404+
405+
ur_event_handle_t memcpy_event;
406+
ASSERT_SUCCESS(urEnqueueUSMMemcpy(queue, false, data.data(), usmPtr,
407+
alloc_size, 1, &kernel_evt, &memcpy_event));
408+
409+
ASSERT_SUCCESS(urEventWait(1, &memcpy_event));
410+
411+
// verify fill worked
412+
for (size_t i = 0; i < global_size; i++) {
413+
ASSERT_EQ(data[i], fill_val);
414+
}
415+
}
416+
382417
struct urEnqueueKernelLaunchWithVirtualMemory : uur::urKernelExecutionTest {
383418

384419
void SetUp() override {

0 commit comments

Comments
 (0)