diff --git a/doc/make_constants.py b/doc/make_constants.py index 245898d9a2b1b23af950ff33d01f280c0d53e603..3e92d05ef48c029a2b04a739166e9dd74d15102e 100644 --- a/doc/make_constants.py +++ b/doc/make_constants.py @@ -43,6 +43,20 @@ const_ext_lookup = { getattr(devi, "NATIVE_VECTOR_WIDTH_DOUBLE", None): ("CL_1.1", "0.92"), getattr(devi, "NATIVE_VECTOR_WIDTH_HALF", None): ("CL_1.1", "0.92"), getattr(devi, "OPENCL_C_VERSION", None): ("CL_1.1", "0.92"), + getattr(devi, "COMPUTE_CAPABILITY_MAJOR_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "COMPUTE_CAPABILITY_MINOR_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "REGISTERS_PER_BLOCK_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "WARP_SIZE_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "GPU_OVERLAP_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "KERNEL_EXEC_TIMEOUT_NV", None): + ("cl_nv_device_attribute_query", "0.92"), + getattr(devi, "INTEGRATED_MEMORY_NV", None): + ("cl_nv_device_attribute_query", "0.92"), }, ctxp: { diff --git a/doc/source/misc.rst b/doc/source/misc.rst index e75fe7a0b80ad88f13f050af413fe11abc23c8a8..56ce060cfe66582880e2821afd71a90f72d7ef55 100644 --- a/doc/source/misc.rst +++ b/doc/source/misc.rst @@ -81,6 +81,10 @@ Version 0.92 * The call signature of :meth:`pyopencl.Kernel.__call__` changed to emphasize the importance of *loccal_size*. * Add :meth:`pyopencl.Kernel.set_scalar_arg_dtypes`. +* Add support for the + `cl_nv_device_attribute_query <ghttp://www.khronos.org/registry/cl/extensions/khr/cl_nv_device_attribute_query.txt>`_ + extension. + Version 0.91.5 -------------- diff --git a/src/wrapper/wrap_cl.cpp b/src/wrapper/wrap_cl.cpp index 55d855dce78f055e4179b28a741ec292e9d97abc..7604e3c3a9e992dc311e18a77d278af0ac78a831 100644 --- a/src/wrapper/wrap_cl.cpp +++ b/src/wrapper/wrap_cl.cpp @@ -183,6 +183,16 @@ BOOST_PYTHON_MODULE(_cl) ADD_ATTR(DEVICE_, NATIVE_VECTOR_WIDTH_DOUBLE); ADD_ATTR(DEVICE_, NATIVE_VECTOR_WIDTH_HALF); ADD_ATTR(DEVICE_, OPENCL_C_VERSION); +#endif +// support for cl_nv_device_attribute_query +#ifdef CL_DEVICE_COMPUTE_CAPABILITY_MAJOR_NV + ADD_ATTR(DEVICE_, COMPUTE_CAPABILITY_MAJOR_NV); + ADD_ATTR(DEVICE_, COMPUTE_CAPABILITY_MINOR_NV); + ADD_ATTR(DEVICE_, REGISTERS_PER_BLOCK_NV); + ADD_ATTR(DEVICE_, WARP_SIZE_NV); + ADD_ATTR(DEVICE_, GPU_OVERLAP_NV); + ADD_ATTR(DEVICE_, KERNEL_EXEC_TIMEOUT_NV); + ADD_ATTR(DEVICE_, INTEGRATED_MEMORY_NV); #endif } diff --git a/src/wrapper/wrap_cl.hpp b/src/wrapper/wrap_cl.hpp index 5567c02e5775c8160a2de70b90bcec91d072012a..7ae60dd51727c167ef4e59af5013abdc5ed01b72 100644 --- a/src/wrapper/wrap_cl.hpp +++ b/src/wrapper/wrap_cl.hpp @@ -17,6 +17,8 @@ // elsewhere ------------------------------------------------------------------ #include <CL/cl.h> +// FIXME: Nvidia doesn't install cl_ext.h by default. Grr. +// #include <CL/cl_ext.h> #ifdef HAVE_GL #include <GL/gl.h> #include <CL/cl_gl.h>