Skip to content

Commit 56af572

Browse files
authored
Merge pull request #2223 from igchor/enqueue_usm
Enable (almost) all conformance test on PVC for L0
2 parents e94de08 + d73225f commit 56af572

15 files changed

+236
-217
lines changed

.github/workflows/multi_device.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ jobs:
6363

6464
- name: Test adapters
6565
working-directory: ${{github.workspace}}/build
66-
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" -E "enqueue|kernel|integration|exp_command_buffer|exp_enqueue_native|exp_launch_properties|exp_usm_p2p" --timeout 180
66+
run: env UR_CTS_ADAPTER_PLATFORM="${{matrix.adapter.platform}}" ctest -C ${{matrix.build_type}} --output-on-failure -L "conformance" -E "exp_command_buffer" --timeout 180

source/adapters/level_zero/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ if(UR_BUILD_ADAPTER_L0_V2)
136136
${CMAKE_CURRENT_SOURCE_DIR}/program.cpp
137137
${CMAKE_CURRENT_SOURCE_DIR}/helpers/kernel_helpers.cpp
138138
${CMAKE_CURRENT_SOURCE_DIR}/helpers/memory_helpers.cpp
139+
${CMAKE_CURRENT_SOURCE_DIR}/usm_p2p.cpp
139140
${CMAKE_CURRENT_SOURCE_DIR}/../../ur/ur.cpp
140141
# v2-only sources
141142
${CMAKE_CURRENT_SOURCE_DIR}/v2/command_list_cache.hpp

source/adapters/level_zero/device.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ uint64_t calculateGlobalMemSize(ur_device_handle_t Device) {
186186
}
187187
}
188188
};
189-
return Device->ZeGlobalMemSize.operator->()->value;
189+
return Device->ZeGlobalMemSize.get().value;
190190
}
191191

192192
ur_result_t urDeviceGetInfo(

source/adapters/level_zero/kernel.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ ur_result_t urKernelGetInfo(
726726
return ReturnValue(ur_program_handle_t{Kernel->Program});
727727
case UR_KERNEL_INFO_FUNCTION_NAME:
728728
try {
729-
std::string &KernelName = *Kernel->ZeKernelName.operator->();
729+
std::string &KernelName = Kernel->ZeKernelName.get();
730730
return ReturnValue(static_cast<const char *>(KernelName.c_str()));
731731
} catch (const std::bad_alloc &) {
732732
return UR_RESULT_ERROR_OUT_OF_HOST_MEMORY;

source/adapters/level_zero/v2/api.cpp

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,6 @@ ur_result_t urPhysicalMemRelease(ur_physical_mem_handle_t hPhysicalMem) {
177177
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
178178
}
179179

180-
ur_result_t urKernelGetInfo(ur_kernel_handle_t hKernel,
181-
ur_kernel_info_t propName, size_t propSize,
182-
void *pPropValue, size_t *pPropSizeRet) {
183-
logger::error("{} function not implemented!", __FUNCTION__);
184-
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
185-
}
186-
187180
ur_result_t
188181
urKernelSetArgSampler(ur_kernel_handle_t hKernel, uint32_t argIndex,
189182
const ur_kernel_arg_sampler_properties_t *pProperties,
@@ -629,24 +622,4 @@ ur_result_t urUSMReleaseExp(ur_context_handle_t hContext, void *pMem) {
629622
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
630623
}
631624

632-
ur_result_t urUsmP2PEnablePeerAccessExp(ur_device_handle_t commandDevice,
633-
ur_device_handle_t peerDevice) {
634-
logger::error("{} function not implemented!", __FUNCTION__);
635-
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
636-
}
637-
638-
ur_result_t urUsmP2PDisablePeerAccessExp(ur_device_handle_t commandDevice,
639-
ur_device_handle_t peerDevice) {
640-
logger::error("{} function not implemented!", __FUNCTION__);
641-
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
642-
}
643-
644-
ur_result_t urUsmP2PPeerAccessGetInfoExp(ur_device_handle_t commandDevice,
645-
ur_device_handle_t peerDevice,
646-
ur_exp_peer_info_t propName,
647-
size_t propSize, void *pPropValue,
648-
size_t *pPropSizeRet) {
649-
logger::error("{} function not implemented!", __FUNCTION__);
650-
return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
651-
}
652625
} // namespace ur::level_zero

source/adapters/level_zero/v2/kernel.cpp

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,17 +98,19 @@ ur_result_t ur_kernel_handle_t_::release() {
9898
void ur_kernel_handle_t_::completeInitialization() {
9999
// Cache kernel name. Should be the same for all devices
100100
assert(deviceKernels.size() > 0);
101-
auto nonEmptyKernel =
102-
std::find_if(deviceKernels.begin(), deviceKernels.end(),
103-
[](const auto &kernel) { return kernel.has_value(); });
101+
nonEmptyKernel =
102+
&std::find_if(deviceKernels.begin(), deviceKernels.end(),
103+
[](const auto &kernel) { return kernel.has_value(); })
104+
->value();
104105

105-
zeKernelName.Compute = [kernel =
106-
&nonEmptyKernel->value()](std::string &name) {
106+
zeCommonProperties.Compute = [kernel = nonEmptyKernel](
107+
common_properties_t &props) {
107108
size_t size = 0;
108109
ZE_CALL_NOCHECK(zeKernelGetName, (kernel->hKernel.get(), &size, nullptr));
109-
name.resize(size);
110+
props.name.resize(size);
110111
ZE_CALL_NOCHECK(zeKernelGetName,
111-
(kernel->hKernel.get(), &size, name.data()));
112+
(kernel->hKernel.get(), &size, props.name.data()));
113+
props.numKernelArgs = kernel->zeKernelProperties->numKernelArgs;
112114
};
113115
}
114116

@@ -142,8 +144,9 @@ ur_kernel_handle_t_::getZeHandle(ur_device_handle_t hDevice) {
142144
return deviceKernels[hDevice->Id.value()].value().hKernel.get();
143145
}
144146

145-
const std::string &ur_kernel_handle_t_::getName() const {
146-
return *zeKernelName.operator->();
147+
ur_kernel_handle_t_::common_properties_t
148+
ur_kernel_handle_t_::getCommonProperties() const {
149+
return zeCommonProperties.get();
147150
}
148151

149152
const ze_kernel_properties_t &
@@ -154,10 +157,7 @@ ur_kernel_handle_t_::getProperties(ur_device_handle_t hDevice) const {
154157

155158
assert(deviceKernels[hDevice->Id.value()].value().hKernel.get());
156159

157-
return *deviceKernels[hDevice->Id.value()]
158-
.value()
159-
.zeKernelProperties.
160-
operator->();
160+
return deviceKernels[hDevice->Id.value()].value().zeKernelProperties.get();
161161
}
162162

163163
ur_result_t ur_kernel_handle_t_::setArgValue(
@@ -178,16 +178,26 @@ ur_result_t ur_kernel_handle_t_::setArgValue(
178178
pArgValue = nullptr;
179179
}
180180

181+
if (argIndex > zeCommonProperties->numKernelArgs - 1) {
182+
return UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX;
183+
}
184+
181185
std::scoped_lock<ur_shared_mutex> guard(Mutex);
182186

183187
for (auto &singleDeviceKernel : deviceKernels) {
184188
if (!singleDeviceKernel.has_value()) {
185189
continue;
186190
}
187191

188-
ZE2UR_CALL(zeKernelSetArgumentValue,
189-
(singleDeviceKernel.value().hKernel.get(), argIndex, argSize,
190-
pArgValue));
192+
auto zeResult = ZE_CALL_NOCHECK(zeKernelSetArgumentValue,
193+
(singleDeviceKernel.value().hKernel.get(),
194+
argIndex, argSize, pArgValue));
195+
196+
if (zeResult == ZE_RESULT_ERROR_INVALID_ARGUMENT) {
197+
return UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE;
198+
} else if (zeResult != ZE_RESULT_SUCCESS) {
199+
return ze2urResult(zeResult);
200+
}
191201
}
192202
return UR_RESULT_SUCCESS;
193203
}
@@ -257,6 +267,17 @@ std::vector<ur_device_handle_t> ur_kernel_handle_t_::getDevices() const {
257267
return devices;
258268
}
259269

270+
std::vector<char> ur_kernel_handle_t_::getSourceAttributes() const {
271+
uint32_t size;
272+
ZE2UR_CALL_THROWS(zeKernelGetSourceAttributes,
273+
(nonEmptyKernel->hKernel.get(), &size, nullptr));
274+
std::vector<char> attributes(size);
275+
char *dataPtr = attributes.data();
276+
ZE2UR_CALL_THROWS(zeKernelGetSourceAttributes,
277+
(nonEmptyKernel->hKernel.get(), &size, &dataPtr));
278+
return attributes;
279+
}
280+
260281
namespace ur::level_zero {
261282
ur_result_t urKernelCreate(ur_program_handle_t hProgram,
262283
const char *pKernelName,
@@ -477,4 +498,40 @@ ur_result_t urKernelGetSubGroupInfo(
477498
}
478499
return UR_RESULT_SUCCESS;
479500
}
501+
502+
ur_result_t urKernelGetInfo(ur_kernel_handle_t hKernel,
503+
ur_kernel_info_t paramName, size_t propSize,
504+
void *pKernelInfo, size_t *pPropSizeRet) {
505+
506+
UrReturnHelper ReturnValue(propSize, pKernelInfo, pPropSizeRet);
507+
508+
std::shared_lock<ur_shared_mutex> Guard(hKernel->Mutex);
509+
switch (paramName) {
510+
case UR_KERNEL_INFO_CONTEXT:
511+
return ReturnValue(
512+
ur_context_handle_t{hKernel->getProgramHandle()->Context});
513+
case UR_KERNEL_INFO_PROGRAM:
514+
return ReturnValue(ur_program_handle_t{hKernel->getProgramHandle()});
515+
case UR_KERNEL_INFO_FUNCTION_NAME: {
516+
auto kernelName = hKernel->getCommonProperties().name;
517+
return ReturnValue(static_cast<const char *>(kernelName.c_str()));
518+
}
519+
case UR_KERNEL_INFO_NUM_REGS:
520+
case UR_KERNEL_INFO_NUM_ARGS:
521+
return ReturnValue(uint32_t{hKernel->getCommonProperties().numKernelArgs});
522+
case UR_KERNEL_INFO_REFERENCE_COUNT:
523+
return ReturnValue(uint32_t{hKernel->RefCount.load()});
524+
case UR_KERNEL_INFO_ATTRIBUTES: {
525+
auto attributes = hKernel->getSourceAttributes();
526+
return ReturnValue(static_cast<const char *>(attributes.data()));
527+
}
528+
default:
529+
logger::error(
530+
"Unsupported ParamName in urKernelGetInfo: ParamName={}(0x{})",
531+
paramName, logger::toHex(paramName));
532+
return UR_RESULT_ERROR_INVALID_VALUE;
533+
}
534+
535+
return UR_RESULT_SUCCESS;
536+
}
480537
} // namespace ur::level_zero

source/adapters/level_zero/v2/kernel.hpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ struct ur_single_device_kernel_t {
2727
struct ur_kernel_handle_t_ : _ur_object {
2828
private:
2929
public:
30+
struct common_properties_t {
31+
std::string name;
32+
uint32_t numKernelArgs;
33+
};
34+
3035
ur_kernel_handle_t_(ur_program_handle_t hProgram, const char *kernelName);
3136

3237
// From native handle
@@ -44,7 +49,7 @@ struct ur_kernel_handle_t_ : _ur_object {
4449
std::vector<ur_device_handle_t> getDevices() const;
4550

4651
// Get name of the kernel.
47-
const std::string &getName() const;
52+
common_properties_t getCommonProperties() const;
4853

4954
// Get properties of the kernel.
5055
const ze_kernel_properties_t &getProperties(ur_device_handle_t hDevice) const;
@@ -64,6 +69,8 @@ struct ur_kernel_handle_t_ : _ur_object {
6469
ur_result_t setExecInfo(ur_kernel_exec_info_t propName,
6570
const void *pPropValue);
6671

72+
std::vector<char> getSourceAttributes() const;
73+
6774
// Perform cleanup.
6875
ur_result_t release();
6976

@@ -74,8 +81,11 @@ struct ur_kernel_handle_t_ : _ur_object {
7481
// Vector of ur_single_device_kernel_t indexed by device->Id
7582
std::vector<std::optional<ur_single_device_kernel_t>> deviceKernels;
7683

77-
// Cache of the kernel name.
78-
mutable ZeCache<std::string> zeKernelName;
84+
// Cache of the common kernel properties.
85+
mutable ZeCache<common_properties_t> zeCommonProperties;
7986

8087
void completeInitialization();
88+
89+
// pointer to any non-null kernel in deviceKernels
90+
ur_single_device_kernel_t *nonEmptyKernel;
8191
};

source/ur/ur.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,11 +179,13 @@ template <class T> struct ZeCache : private T {
179179

180180
ZeCache() : T{} {}
181181

182-
// Access to the fields of the original T data structure.
183-
T *operator->() {
182+
T &get() {
184183
std::call_once(Computed, Compute, static_cast<T &>(*this));
185-
return this;
184+
return *this;
186185
}
186+
187+
// Access to the fields of the original T data structure.
188+
T *operator->() { return &get(); }
187189
};
188190

189191
// Helper for one-liner validation

test/conformance/enqueue/enqueue_adapter_level_zero.match

Lines changed: 36 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
{{OPT}}urEnqueueKernelLaunchTest.InvalidKernelArgs/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
44
{{OPT}}urEnqueueKernelLaunchKernelWgSizeTest.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
55
{{OPT}}urEnqueueKernelLaunchKernelSubGroupTest.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
6-
{{OPT}}urEnqueueKernelLaunchUSMLinkedList.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}__UsePoolEnabled
7-
{{OPT}}urEnqueueKernelLaunchUSMLinkedList.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}__UsePoolDisabled
86
{{OPT}}urEnqueueMemBufferCopyRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___copy_2d_3d
97
{{OPT}}urEnqueueMemBufferCopyRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___copy_3d_2d
108
{{OPT}}urEnqueueMemBufferReadRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_non_zero_offsets_2D
@@ -13,6 +11,7 @@
1311
{{OPT}}urEnqueueMemBufferReadRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_3d_with_offsets
1412
{{OPT}}urEnqueueMemBufferReadRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_2d_3d
1513
{{OPT}}urEnqueueMemBufferReadRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_3d_2d
14+
{{OPT}}urEnqueueMemBufferMapMultiDeviceTest.*
1615
{{OPT}}urEnqueueMemBufferWriteRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_3d_with_offsets
1716
{{OPT}}urEnqueueMemBufferWriteRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_2d_3d
1817
{{OPT}}urEnqueueMemBufferWriteRectTestWithParam.Success/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}___write_3d_2d
@@ -23,46 +22,48 @@
2322
{{OPT}}urEnqueueMemImageReadTest.InvalidOrigin2D/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
2423
{{OPT}}urEnqueueMemImageReadTest.InvalidOrigin3D/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___{{.*}}_
2524
{{OPT}}urEnqueueEventsWaitMultiDeviceMTTest/*
26-
urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependencies/*
27-
urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependenciesBarrierOnly/*
28-
urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependenciesLaunchOnly/*
29-
urEnqueueEventsWaitWithBarrierOrderingTest.SuccessNonEventDependencies/*
30-
urEnqueueEventsWaitWithBarrierTest.Success/*
31-
urEnqueueMemBufferCopyRectTestWithParam.Success/*
32-
urEnqueueMemBufferCopyTestWithParam.Success/*
33-
urEnqueueMemBufferFillTest.Success/*
34-
urEnqueueMemBufferFillTest.SuccessOffset/*
35-
urEnqueueMemBufferFillTest.SuccessPartialFill/*
36-
urEnqueueMemBufferMapTestWithParam.SuccesPinnedWrite/*
37-
urEnqueueMemBufferMapTestWithParam.SuccessMultiMaps/*
38-
urEnqueueMemBufferMapTestWithParam.SuccessOffset/*
39-
urEnqueueMemBufferMapTestWithParam.SuccessPartialMap/*
40-
urEnqueueMemBufferMapTestWithWriteFlagParam.SuccessWrite/*
41-
urEnqueueMemBufferReadRectTestWithParam.Success/*
42-
urEnqueueMemBufferWriteRectTestWithParam.Success/*
43-
urEnqueueMemImageCopyTest.Success/*
44-
urEnqueueMemImageCopyTest.SuccessPartialCopy/*
45-
urEnqueueMemImageCopyTest.SuccessPartialCopyWithDstOffset/*
46-
urEnqueueMemImageCopyTest.SuccessPartialCopyWithSrcOffset/*
47-
urEnqueueMemImageReadTest.InvalidRegion1D/*
48-
urEnqueueMemImageReadTest.InvalidRegion2D/*
49-
urEnqueueMemImageReadTest.InvalidRegion3D/*
50-
urEnqueueMemImageWriteTest.InvalidOrigin1D/*
51-
urEnqueueMemImageWriteTest.InvalidOrigin2D/*
52-
urEnqueueMemImageWriteTest.InvalidOrigin3D/*
53-
urEnqueueMemImageWriteTest.InvalidRegion1D/*
54-
urEnqueueMemImageWriteTest.InvalidRegion2D/*
55-
urEnqueueMemImageWriteTest.InvalidRegion3D/*
25+
{{OPT}}urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependencies/*
26+
{{OPT}}urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependenciesBarrierOnly/*
27+
{{OPT}}urEnqueueEventsWaitWithBarrierOrderingTest.SuccessEventDependenciesLaunchOnly/*
28+
{{OPT}}urEnqueueEventsWaitWithBarrierOrderingTest.SuccessNonEventDependencies/*
29+
{{OPT}}urEnqueueEventsWaitWithBarrierTest.Success/*
30+
{{OPT}}urEnqueueMemBufferCopyRectTestWithParam.Success/*
31+
{{OPT}}urEnqueueMemBufferCopyTestWithParam.Success/*
32+
{{OPT}}urEnqueueMemBufferFillTest.Success/*
33+
{{OPT}}urEnqueueMemBufferFillTest.SuccessOffset/*
34+
{{OPT}}urEnqueueMemBufferFillTest.SuccessPartialFill/*
35+
{{OPT}}urEnqueueMemBufferMapTestWithParam.SuccesPinnedWrite/*
36+
{{OPT}}urEnqueueMemBufferMapTestWithParam.SuccessMultiMaps/*
37+
{{OPT}}urEnqueueMemBufferMapTestWithParam.SuccessRead/Intel_R__oneAPI_Unified_Runtime_over_Level_Zero___Intel_R__Data_Center_GPU_Max*
38+
{{OPT}}urEnqueueMemBufferMapTestWithParam.SuccessOffset/*
39+
{{OPT}}urEnqueueMemBufferMapTestWithParam.SuccessPartialMap/*
40+
{{OPT}}urEnqueueMemBufferMapTestWithWriteFlagParam.SuccessWrite/*
41+
{{OPT}}urEnqueueMemBufferReadRectTestWithParam.Success/*
42+
{{OPT}}urEnqueueMemBufferWriteRectTestWithParam.Success/*
43+
{{OPT}}urEnqueueMemImageCopyTest.Success/*
44+
{{OPT}}urEnqueueMemImageCopyTest.SuccessPartialCopy/*
45+
{{OPT}}urEnqueueMemImageCopyTest.SuccessPartialCopyWithDstOffset/*
46+
{{OPT}}urEnqueueMemImageCopyTest.SuccessPartialCopyWithSrcOffset/*
47+
{{OPT}}urEnqueueMemImageReadTest.InvalidRegion1D/*
48+
{{OPT}}urEnqueueMemImageReadTest.InvalidRegion2D/*
49+
{{OPT}}urEnqueueMemImageReadTest.InvalidRegion3D/*
50+
{{OPT}}urEnqueueMemImageWriteTest.InvalidOrigin1D/*
51+
{{OPT}}urEnqueueMemImageWriteTest.InvalidOrigin2D/*
52+
{{OPT}}urEnqueueMemImageWriteTest.InvalidOrigin3D/*
53+
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion1D/*
54+
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion2D/*
55+
{{OPT}}urEnqueueMemImageWriteTest.InvalidRegion3D/*
56+
{{OPT}}urEnqueueKernelLaunchMultiDeviceTest.KernelLaunchReadDifferentQueues/*
5657
urEnqueueReadHostPipeTest.InvalidEventWaitList/*
5758
urEnqueueReadHostPipeTest.InvalidNullHandleProgram/*
5859
urEnqueueReadHostPipeTest.InvalidNullHandleQueue/*
5960
urEnqueueReadHostPipeTest.InvalidNullPointerBuffer/*
6061
urEnqueueReadHostPipeTest.InvalidNullPointerPipeSymbol/*
6162
urEnqueueUSMAdviseTest.InvalidSizeTooLarge/*
6263
urEnqueueUSMFill2DNegativeTest.OutOfBounds/*
63-
urEnqueueUSMMemcpyTest.Blocking/*
64-
urEnqueueUSMMemcpyTest.BlockingWithEvent/*
65-
urEnqueueUSMMemcpyTest.WaitForDependencies/*
64+
{{OPT}}urEnqueueUSMMemcpyTest.Blocking/*
65+
{{OPT}}urEnqueueUSMMemcpyTest.BlockingWithEvent/*
66+
{{OPT}}urEnqueueUSMMemcpyTest.WaitForDependencies/*
6667
urEnqueueUSMPrefetchTest.InvalidSizeTooLarge/*
6768
urEnqueueWriteHostPipeTest.InvalidEventWaitList/*
6869
urEnqueueWriteHostPipeTest.InvalidNullHandleProgram/*

0 commit comments

Comments
 (0)