From b5d6fcdb3150ea5f9df7edd030b6f9b360fe547f Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Mon, 14 Sep 2020 21:54:21 -0500 Subject: [PATCH] Add cl_kernel_subgroup_info (CL 2.1) --- doc/make_constants.py | 9 +++++++++ src/wrap_constants.cpp | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/doc/make_constants.py b/doc/make_constants.py index 28eebe6c..c4919cd0 100644 --- a/doc/make_constants.py +++ b/doc/make_constants.py @@ -30,6 +30,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_late = ("CL_2.1", "2020.3") cl_21 = ("CL_2.1", "2016.2") cl_22 = ("CL_2.1", "2020.3") cl_30 = ("CL_3.0", "2020.3") @@ -268,6 +269,14 @@ const_ext_lookup = { "GLOBAL_WORK_SIZE": cl_12, }, + cl.kernel_sub_group_info: { + "MAX_SUB_GROUP_SIZE_FOR_NDRANGE": cl_21_late, + "SUB_GROUP_COUNT_FOR_NDRANGE": cl_21_late, + "LOCAL_SIZE_FOR_SUB_GROUP_COUNT": cl_21_late, + "MAX_NUM_SUB_GROUPS": cl_21_late, + "COMPILE_NUM_SUB_GROUPS": cl_21_late, + }, + cl.addressing_mode: { "MIRRORED_REPEAT": cl_11, }, diff --git a/src/wrap_constants.cpp b/src/wrap_constants.cpp index a5abb38a..1c93bdf0 100644 --- a/src/wrap_constants.cpp +++ b/src/wrap_constants.cpp @@ -75,6 +75,7 @@ namespace class kernel_arg_access_qualifier { }; class kernel_arg_type_qualifier { }; class kernel_work_group_info { }; + class kernel_sub_group_info { }; class event_info { }; class command_type { }; class command_execution_status { }; @@ -966,6 +967,17 @@ void pyopencl_expose_constants(py::module &m) #endif } + { + py::class_<kernel_sub_group_info> cls(m, "kernel_sub_group_info"); +#if PYOPENCL_CL_VERSION >= 0x2010 + ADD_ATTR(KERNEL_, MAX_SUB_GROUP_SIZE_FOR_NDRANGE); + ADD_ATTR(KERNEL_, SUB_GROUP_COUNT_FOR_NDRANGE); + ADD_ATTR(KERNEL_, LOCAL_SIZE_FOR_SUB_GROUP_COUNT); + ADD_ATTR(KERNEL_, MAX_NUM_SUB_GROUPS); + ADD_ATTR(KERNEL_, COMPILE_NUM_SUB_GROUPS); +#endif + } + { py::class_<event_info> cls(m, "event_info"); ADD_ATTR(EVENT_, COMMAND_QUEUE); -- GitLab