From ec37e0c0837f39162318e91d86aa26223d9eb074 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 5 Aug 2016 16:00:36 -0500 Subject: [PATCH] Add some CL 2.1 device properties --- doc/make_constants.py | 4 ++++ src/c_wrapper/device.cpp | 8 ++++++++ src/c_wrapper/wrap_constants.cpp | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/doc/make_constants.py b/doc/make_constants.py index a88e40b7..c9de4cd8 100644 --- a/doc/make_constants.py +++ b/doc/make_constants.py @@ -32,6 +32,7 @@ cl_11 = ("CL_1.1", "0.92") cl_12 = ("CL_1.2", "2011.2") cl_12_2015 = ("CL_1.2", "2015.2") cl_20 = ("CL_2.0", "2015.2") +cl_21 = ("CL_2.1", "2016.2") amd_devattr = ("cl_amd_device_attribute_query", "2013.2") qcom_hp_devattr = ("cl_qcom_ext_host_ptr", "2016.2") intel_me_devattr = ("cl_intel_advanced_motion_estimation", "2016.2") @@ -182,6 +183,9 @@ const_ext_lookup = { "PREFERRED_PLATFORM_ATOMIC_ALIGNMENT": cl_20, "PREFERRED_GLOBAL_ATOMIC_ALIGNMENT": cl_20, "PREFERRED_LOCAL_ATOMIC_ALIGNMENT": cl_20, + "IL_VERSION": cl_21, + "MAX_NUM_SUB_GROUPS": cl_21, + "SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS": cl_21, }, cl.mem_object_type: { diff --git a/src/c_wrapper/device.cpp b/src/c_wrapper/device.cpp index 3e0525cd..7bc7fd5a 100644 --- a/src/c_wrapper/device.cpp +++ b/src/c_wrapper/device.cpp @@ -238,6 +238,14 @@ device::get_info(cl_uint param_name) const case CL_DEVICE_PREFERRED_LOCAL_ATOMIC_ALIGNMENT: return DEV_GET_INT_INF(cl_uint); #endif +#if PYOPENCL_CL_VERSION >= 0x2010 + case CL_DEVICE_IL_VERSION: + return pyopencl_get_str_info(Device, PYOPENCL_CL_CASTABLE_THIS, param_name); + case CL_DEVICE_MAX_NUM_SUB_GROUPS: + return DEV_GET_INT_INF(cl_uint); + case CL_DEVICE_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS: + return DEV_GET_INT_INF(cl_bool); +#endif // {{{ AMD dev attrs diff --git a/src/c_wrapper/wrap_constants.cpp b/src/c_wrapper/wrap_constants.cpp index bfa882a6..701638b9 100644 --- a/src/c_wrapper/wrap_constants.cpp +++ b/src/c_wrapper/wrap_constants.cpp @@ -302,6 +302,11 @@ void populate_constants(void(*add)(const char*, const char*, int64_t value)) ADD_ATTR("device_info", DEVICE_, PREFERRED_PLATFORM_ATOMIC_ALIGNMENT); ADD_ATTR("device_info", DEVICE_, PREFERRED_GLOBAL_ATOMIC_ALIGNMENT); ADD_ATTR("device_info", DEVICE_, PREFERRED_LOCAL_ATOMIC_ALIGNMENT); +#endif +#if PYOPENCL_CL_VERSION >= 0x2010 + ADD_ATTR("device_info", DEVICE_, IL_VERSION); + ADD_ATTR("device_info", DEVICE_, MAX_NUM_SUB_GROUPS); + ADD_ATTR("device_info", DEVICE_, SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS); #endif /* cl_intel_advanced_motion_estimation */ #ifdef CL_DEVICE_ME_VERSION_INTEL -- GitLab