Skip to content

Commit 1d3ea03

Browse files
committed
[L0][NativeCPU] implement missing query for HOST_PIPE support
and skip pipe and fill2d tests if the feature is not supported
1 parent 21d2a33 commit 1d3ea03

File tree

9 files changed

+21
-41
lines changed

9 files changed

+21
-41
lines changed

source/adapters/level_zero/device.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,8 @@ ur_result_t urDeviceGetInfo(
11551155
return ReturnValue(false);
11561156
case UR_DEVICE_INFO_GLOBAL_VARIABLE_SUPPORT:
11571157
return ReturnValue(true);
1158+
case UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED:
1159+
return ReturnValue(ur_bool_t{false});
11581160
case UR_DEVICE_INFO_USM_POOL_SUPPORT:
11591161
return ReturnValue(true);
11601162
case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP: {

source/adapters/native_cpu/device.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urDeviceGetInfo(ur_device_handle_t hDevice,
417417
case UR_DEVICE_INFO_ENQUEUE_NATIVE_COMMAND_SUPPORT_EXP:
418418
return ReturnValue(false);
419419

420+
case UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED:
421+
return ReturnValue(ur_bool_t{false});
422+
420423
case UR_DEVICE_INFO_USM_POOL_SUPPORT:
421424
return ReturnValue(false);
422425

test/conformance/device/device_adapter_native_cpu.match

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,5 @@ urDeviceGetInfoTest.Success/UR_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES
2424
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_MEMORY_BUS_WIDTH
2525
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_MAX_WORK_GROUPS_3D
2626
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_ASYNC_BARRIER
27-
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED
2827
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP
2928
urDeviceGetInfoTest.Success/UR_DEVICE_INFO_KERNEL_SET_SPECIALIZATION_CONSTANTS

test/conformance/enqueue/enqueue_adapter_level_zero.match

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,8 @@
5353
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion2D/*
5454
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion3D/*
5555
{{OPT}}urEnqueueKernelLaunchMultiDeviceTest.KernelLaunchReadDifferentQueues/*
56-
urEnqueueReadHostPipeTest.InvalidEventWaitList/*
57-
urEnqueueReadHostPipeTest.InvalidNullHandleProgram/*
58-
urEnqueueReadHostPipeTest.InvalidNullHandleQueue/*
59-
urEnqueueReadHostPipeTest.InvalidNullPointerBuffer/*
60-
urEnqueueReadHostPipeTest.InvalidNullPointerPipeSymbol/*
6156
urEnqueueUSMAdviseTest.InvalidSizeTooLarge/*
62-
urEnqueueUSMFill2DNegativeTest.OutOfBounds/*
6357
{{OPT}}urEnqueueUSMMemcpyTest.Blocking/*
6458
{{OPT}}urEnqueueUSMMemcpyTest.BlockingWithEvent/*
6559
{{OPT}}urEnqueueUSMMemcpyTest.WaitForDependencies/*
6660
urEnqueueUSMPrefetchTest.InvalidSizeTooLarge/*
67-
urEnqueueWriteHostPipeTest.InvalidEventWaitList/*
68-
urEnqueueWriteHostPipeTest.InvalidNullHandleProgram/*
69-
urEnqueueWriteHostPipeTest.InvalidNullHandleQueue/*
70-
urEnqueueWriteHostPipeTest.InvalidNullPointerBuffer/*
71-
urEnqueueWriteHostPipeTest.InvalidNullPointerPipeSymbol/*

test/conformance/enqueue/enqueue_adapter_level_zero_v2.match

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,6 @@ urEnqueueKernelLaunchWithVirtualMemory.Success/*
6969
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion2D/*
7070
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion3D/*
7171
{{OPT}}urEnqueueKernelLaunchMultiDeviceTest.KernelLaunchReadDifferentQueues/*
72-
urEnqueueUSMFill2DNegativeTest.OutOfBounds/*
7372
urEnqueueUSMAdviseTest.InvalidSizeTooLarge/*
7473
urEnqueueUSMPrefetchTest.InvalidSizeTooLarge/*
75-
urEnqueueReadHostPipeTest.InvalidNullHandleQueue/*
76-
urEnqueueReadHostPipeTest.InvalidNullHandleProgram/*
77-
urEnqueueReadHostPipeTest.InvalidNullPointerPipeSymbol/*
78-
urEnqueueReadHostPipeTest.InvalidNullPointerBuffer/*
79-
urEnqueueReadHostPipeTest.InvalidEventWaitList/*
80-
urEnqueueWriteHostPipeTest.InvalidNullHandleQueue/*
81-
urEnqueueWriteHostPipeTest.InvalidNullHandleProgram/*
82-
urEnqueueWriteHostPipeTest.InvalidNullPointerPipeSymbol/*
83-
urEnqueueWriteHostPipeTest.InvalidNullPointerBuffer/*
84-
urEnqueueWriteHostPipeTest.InvalidEventWaitList/*
8574
{{OPT}}urEnqueueTimestampRecordingExpTest.SuccessBlocking/*

test/conformance/enqueue/enqueue_adapter_native_cpu.match

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,6 @@ urEnqueueEventsWaitWithBarrierOrderingTest.SuccessNonEventDependencies/*_
139139
{{OPT}}urEnqueueUSMPrefetchTest.InvalidSizeZero/*
140140
{{OPT}}urEnqueueUSMPrefetchTest.InvalidSizeTooLarge/*
141141
{{OPT}}urEnqueueUSMPrefetchTest.InvalidEventWaitList/*
142-
{{OPT}}urEnqueueReadHostPipeTest.InvalidNullHandleQueue/*
143-
{{OPT}}urEnqueueReadHostPipeTest.InvalidNullHandleProgram/*
144-
{{OPT}}urEnqueueReadHostPipeTest.InvalidNullPointerPipeSymbol/*
145-
{{OPT}}urEnqueueReadHostPipeTest.InvalidNullPointerBuffer/*
146-
{{OPT}}urEnqueueReadHostPipeTest.InvalidEventWaitList/*
147-
{{OPT}}urEnqueueWriteHostPipeTest.InvalidNullHandleQueue/*
148-
{{OPT}}urEnqueueWriteHostPipeTest.InvalidNullHandleProgram/*
149-
{{OPT}}urEnqueueWriteHostPipeTest.InvalidNullPointerPipeSymbol/*
150-
{{OPT}}urEnqueueWriteHostPipeTest.InvalidNullPointerBuffer/*
151-
{{OPT}}urEnqueueWriteHostPipeTest.InvalidEventWaitList/*
152142
urEnqueueKernelLaunchIncrementMultiDeviceMultiThreadTest.Success/*
153143
urEnqueueKernelLaunchIncrementMultiDeviceTest.Success/*
154144
urEnqueueKernelLaunchIncrementTest.Success/*

test/conformance/enqueue/urEnqueueUSMFill2D.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@ TEST_P(urEnqueueUSMFill2DTestWithParam, Success) {
134134

135135
ur_event_handle_t event = nullptr;
136136

137-
ASSERT_SUCCESS(urEnqueueUSMFill2D(queue, ptr, pitch, pattern_size,
138-
pattern.data(), width, height, 0, nullptr,
139-
&event));
137+
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(
138+
urEnqueueUSMFill2D(queue, ptr, pitch, pattern_size, pattern.data(),
139+
width, height, 0, nullptr, &event));
140140
EXPECT_SUCCESS(urQueueFlush(queue));
141141

142142
ASSERT_SUCCESS(urEventWait(1, &event));
@@ -161,6 +161,11 @@ struct urEnqueueUSMFill2DNegativeTest : uur::urQueueTest {
161161

162162
ASSERT_SUCCESS(urUSMDeviceAlloc(context, device, nullptr, nullptr,
163163
allocation_size, &ptr));
164+
165+
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(
166+
urEnqueueUSMFill2D(queue, ptr, pitch, pattern_size, pattern.data(),
167+
width, height, 0, nullptr, nullptr));
168+
ASSERT_SUCCESS(urQueueFinish(queue));
164169
}
165170

166171
void TearDown() override {

test/conformance/memory/urMemImageCreateWithNativeHandle.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P(urMemImageCreateWithNativeHandleTest);
1010

1111
TEST_P(urMemImageCreateWithNativeHandleTest, Success) {
1212
ur_native_handle_t native_handle = 0;
13-
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(urMemGetNativeHandle(image, device, &native_handle));
13+
UUR_ASSERT_SUCCESS_OR_UNSUPPORTED(
14+
urMemGetNativeHandle(image, device, &native_handle));
1415

1516
ur_mem_handle_t mem = nullptr;
1617
ASSERT_SUCCESS(urMemImageCreateWithNativeHandle(

test/conformance/testing/include/uur/fixtures.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -374,17 +374,14 @@ struct urQueueTest : urContextTest {
374374
struct urHostPipeTest : urQueueTest {
375375
void SetUp() override {
376376
UUR_RETURN_ON_FATAL_FAILURE(urQueueTest::SetUp());
377-
UUR_RETURN_ON_FATAL_FAILURE(
378-
uur::KernelsEnvironment::instance->LoadSource("foo", il_binary));
379-
ASSERT_SUCCESS(uur::KernelsEnvironment::instance->CreateProgram(
380-
platform, context, device, *il_binary, nullptr, &program));
381377

382378
size_t size = 0;
383379
ASSERT_SUCCESS(urDeviceGetInfo(
384380
device, UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED, 0, nullptr,
385381
&size));
386382
ASSERT_NE(size, 0);
387383
ASSERT_EQ(sizeof(ur_bool_t), size);
384+
388385
void *info_data = alloca(size);
389386
ASSERT_SUCCESS(urDeviceGetInfo(
390387
device, UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED, size,
@@ -396,6 +393,11 @@ struct urHostPipeTest : urQueueTest {
396393
if (!supported) {
397394
GTEST_SKIP() << "Host pipe read/write is not supported.";
398395
}
396+
397+
UUR_RETURN_ON_FATAL_FAILURE(
398+
uur::KernelsEnvironment::instance->LoadSource("foo", il_binary));
399+
ASSERT_SUCCESS(uur::KernelsEnvironment::instance->CreateProgram(
400+
platform, context, device, *il_binary, nullptr, &program));
399401
}
400402

401403
void TearDown() override {

0 commit comments

Comments
 (0)