Skip to content

Commit 5d3e749

Browse files
committed
add support for clEnqueueSVMMemcpyWithPropertiesKHR
1 parent e9e30c2 commit 5d3e749

6 files changed

Lines changed: 564 additions & 108 deletions

File tree

layers/99_svmplusplus/emulate.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -962,6 +962,31 @@ cl_int CL_API_CALL clGetSVMPointerInfoKHR_EMU(
962962
return CL_INVALID_VALUE;
963963
}
964964

965+
cl_int CL_API_CALL clEnqueueSVMMemcpyWithPropertiesKHR_EMU(
966+
cl_command_queue command_queue,
967+
cl_svm_copy_properties_khr* properties,
968+
cl_bool blocking_copy,
969+
void* dst_ptr,
970+
const void* src_ptr,
971+
size_t size,
972+
cl_uint num_events_in_wait_list,
973+
const cl_event* event_wait_list,
974+
cl_event* event)
975+
{
976+
if (properties != nullptr && properties[0] != 0) {
977+
return CL_INVALID_PROPERTY;
978+
}
979+
return clEnqueueSVMMemcpy_override(
980+
command_queue,
981+
blocking_copy,
982+
dst_ptr,
983+
src_ptr,
984+
size,
985+
num_events_in_wait_list,
986+
event_wait_list,
987+
event);
988+
}
989+
965990
cl_int CL_API_CALL clGetDeviceInfo_override(
966991
cl_device_id device,
967992
cl_device_info param_name,

layers/99_svmplusplus/emulate.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@ cl_int CL_API_CALL clGetSVMPointerInfoKHR_EMU(
3939
void* param_value,
4040
size_t* param_value_size_ret);
4141

42+
cl_int CL_API_CALL clEnqueueSVMMemcpyWithPropertiesKHR_EMU(
43+
cl_command_queue command_queue,
44+
cl_svm_copy_properties_khr* properties,
45+
cl_bool blocking_copy,
46+
void* dst_ptr,
47+
const void* src_ptr,
48+
size_t size,
49+
cl_uint num_events_in_wait_list,
50+
const cl_event* event_wait_list,
51+
cl_event* event);
52+
4253
cl_int CL_API_CALL clGetDeviceInfo_override(
4354
cl_device_id device,
4455
cl_device_info param_name,

layers/99_svmplusplus/main.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ clGetExtensionFunctionAddressForPlatform_override(
4343
CHECK_RETURN_EXTENSION_FUNCTION( clSVMFreeWithPropertiesKHR );
4444
CHECK_RETURN_EXTENSION_FUNCTION( clGetSVMSuggestedTypeIndexKHR );
4545
CHECK_RETURN_EXTENSION_FUNCTION( clGetSVMPointerInfoKHR );
46+
CHECK_RETURN_EXTENSION_FUNCTION( clEnqueueSVMMemcpyWithPropertiesKHR );
4647

4748
return g_pNextDispatch->clGetExtensionFunctionAddressForPlatform(
4849
platform,

samples/usvm/00_usvmqueries/main.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,13 @@ void PrintUSVMCaps(
4747
const char* prefix,
4848
cl_svm_capabilities_khr svmcaps )
4949
{
50-
printf("%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
50+
printf("%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
5151
prefix,
5252
( svmcaps & CL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_SINGLE_ADDRESS_SPACE_KHR" : "",
5353
( svmcaps & CL_SVM_CAPABILITY_SYSTEM_ALLOCATED_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_SYSTEM_ALLOCATED_KHR" : "",
5454
( svmcaps & CL_SVM_CAPABILITY_DEVICE_OWNED_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_DEVICE_OWNED_KHR" : "",
55+
( svmcaps & CL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_DEVICE_UNASSOCIATED_KHR" : "",
56+
( svmcaps & CL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_CONTEXT_ACCESS_KHR" : "",
5557
( svmcaps & CL_SVM_CAPABILITY_HOST_OWNED_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_HOST_OWNED_KHR" : "",
5658
( svmcaps & CL_SVM_CAPABILITY_HOST_READ_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_HOST_READ_KHR" : "",
5759
( svmcaps & CL_SVM_CAPABILITY_HOST_WRITE_KHR ) ? "\n\t\t\tCL_SVM_CAPABILITY_HOST_WRITE_KHR" : "",

samples/usvm/100_udmemhelloworld/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,9 @@ int main(
125125

126126
// verification
127127
{
128-
clEnqueueSVMMemcpy(
128+
clEnqueueSVMMemcpyWithPropertiesKHR(
129129
commandQueue(),
130+
nullptr,
130131
CL_TRUE,
131132
h_buf,
132133
d_dst,

0 commit comments

Comments
 (0)