Skip to content

Commit 4f44d35

Browse files
committed
emulation layer for cl_khr_unified_svm
1 parent 3f487d8 commit 4f44d35

26 files changed

Lines changed: 10891 additions & 1 deletion

File tree

include/CL/opencl.hpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,6 +1550,19 @@ inline cl_int getInfoHelper(Func f, cl_uint name, T* param, int, typename T::cl_
15501550
F(cl_device_info, CL_DEVICE_CROSS_DEVICE_SHARED_MEM_CAPABILITIES_INTEL, cl_device_unified_shared_memory_capabilities_intel ) \
15511551
F(cl_device_info, CL_DEVICE_SHARED_SYSTEM_MEM_CAPABILITIES_INTEL, cl_device_unified_shared_memory_capabilities_intel )
15521552

1553+
#define CL_HPP_PARAM_NAME_CL_KHR_UNIFIED_SVM_(F) \
1554+
F(cl_platform_info, CL_PLATFORM_SVM_TYPE_CAPABILITIES_KHR, cl::vector<cl_svm_capabilities_khr>) \
1555+
\
1556+
F(cl_device_info, CL_DEVICE_SVM_TYPE_CAPABILITIES_KHR, cl::vector<cl_svm_capabilities_khr>) \
1557+
\
1558+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_TYPE_INDEX_KHR, cl_uint) \
1559+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_CAPABILITIES_KHR, cl_svm_capabilities_khr) \
1560+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_PROPERTIES_KHR, cl::vector<cl_svm_alloc_properties_khr>) \
1561+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_ACCESS_FLAGS_KHR, cl_svm_alloc_access_flags_khr) \
1562+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_BASE_PTR_KHR, void*) \
1563+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_SIZE_KHR, size_type) \
1564+
F(cl_svm_pointer_info_khr, CL_SVM_INFO_ASSOCIATED_DEVICE_HANDLE_KHR, cl::Device)
1565+
15531566
template <typename enum_type, cl_int Name>
15541567
struct param_traits {};
15551568

@@ -1828,6 +1841,10 @@ CL_HPP_DECLARE_PARAM_TRAITS_(cl_kernel_work_group_info, CL_KERNEL_SPILL_MEM_SIZE
18281841
CL_HPP_PARAM_NAME_CL_INTEL_UNIFIED_SHARED_MEMORY_(CL_HPP_DECLARE_PARAM_TRAITS_)
18291842
#endif // cl_intel_unified_shared_memory
18301843

1844+
#if defined(cl_khr_unified_svm)
1845+
CL_HPP_PARAM_NAME_CL_KHR_UNIFIED_SVM_(CL_HPP_DECLARE_PARAM_TRAITS_)
1846+
#endif
1847+
18311848
// Convenience functions
18321849

18331850
template <typename Func, typename T>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2023 Ben Ashbaugh
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
add_opencl_layer(
6+
NUMBER 99
7+
TARGET SvmPlusPlus
8+
VERSION 300
9+
SOURCES main.cpp emulate.cpp emulate.h
10+
LIBS OpenCLExt)

0 commit comments

Comments
 (0)