Skip to content

Commit 63719ae

Browse files
committed
[CTS] add simple test that combines kernel launch and memcpy
1 parent 2a38201 commit 63719ae

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

test/conformance/enqueue/urEnqueueKernelLaunch.cpp

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,41 @@ TEST_P(urEnqueueKernelLaunchWithUSM, Success) {
378378
}
379379
}
380380

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

383418
void SetUp() override {

0 commit comments

Comments
 (0)